System and method for dynamically generating content on a portable computing device

ABSTRACT

A method of operating a portable computing device comprises receiving broadcast information including a data repository and formatting information. Creation of a search query is facilitated, and a search result is retrieved from the data repository based upon the search query. The search result is transformed in accordance with the formatting information to produce formatted content.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of, and claims priority to patentapplication entitled “System And Method For Dynamically GeneratingContent On A Portable Computing Device,” U.S. application Ser. No.09/841,970, Filed on Apr. 24, 2001 now abandoned, the contents of whichare incorporated herein in its entirety, and was concurrently filed with“System and Method for Communicating Information from a ComputerizedDistributor to Portable Computing Devices,” U.S. patent application Ser.No. 09/842,198, Filed on Apr. 24, 2001, and “Apparatus and Method forCommunicating Information to Portable Computing Devices,” U.S. patentapplication Ser. No. 09/842,359, filed on Apr. 24, 2001, the contents ofwhich are incorporated herein in their entirety.

FIELD OF INVENTION

Embodiments of the invention relate to systems and methods configured todistribute information across networks to remote computing devices.Specifically, embodiments of the invention provide a wirelessinformation distributor, a local data cache, a protocol for broadcastinginformation to portable computing devices, a procedure for providingwireless information distributors with new information, methods forbattery conservation on information distributors, and systems andmethods for increasing the wireless communication range of conventionalportable computing devices without requiring physical devicemodifications.

BACKGROUND OF THE INVENTION

The Internet and the World Wide Web have made great strides at bringingthe world to the average home. Incredibly rich and detailed informationabout almost any part of the globe may reside merely a few keystrokesaway from the typical computer user. But the typical computer user losesaccess to this rich pool of information once leaving home. Of course,the computer user could regain access to rich sources of information byreconnecting his computer to an electronic network after leaving home,but such connections are typically cumbersome and their availability isoften limited.

Consider, for example, a computer user at a museum who wants informationrelated to an exhibit at the museum. Typically, she would have to locatea public telephone, physically connect her computer to the telephone,establish a network connection via a dialup modem, and then begin herinformation retrieval search. Not only is this process cumbersome andinconvenient, but as soon as the computer user disconnects from thenetwork, she will typically lose access to the information provided bythe network. Of course, the computer user could save some of theinformation in memory on her computer, but she will nevertheless likelylose all interactive abilities to manipulate the information provided bythe network once disconnected, and she will definitely lose the abilityto posit new queries after disconnection.

Consider another computer user visiting a baseball park, for example.This computer user could conceivably bring with him a computer having anability to connect to the Internet wirelessly through the publictelephone network. Once connected, the computer user could then locateinformation about the baseball park and/or the relevant baseball teamsand could theoretically continue reviewing the information provided overthe electronic network throughout the entire game or even longer.Unfortunately, this computer user will typically have to pay more forthis service and its related equipment than for a connection over atypical dialup network. In addition, the wireless connection between thecomputer user and the network may become broken for various reasons,such as interference, and once the connection is broken, the computeruser will lose all access to the information provided by the network.Worse still, the computer user may have to contend for an availablewireless connection, especially since this computer user will not becompeting with just other visitors to the baseball park but witheveryone who wants to connect to the wireless network. In fact, supposethe computer user is attending a popular baseball game and many otherspectators also have established wireless connections. The computer userwill not only have to contend for bandwidth in establishing a connectionto the wireless network, but the computer user may also have to contendfor access to particular information resources, e.g., the home team'swebsite. Such website may have limited abilities for correctlyprocessing requests during an access request surge, e.g., thousands ofspectators at a major league baseball game all concurrently trying toaccess a wireless network and then trying to access their team'swebsite.

The problem has thus far been examined from the viewpoint of theindividual computer user. The problem assumes an added dimension whenconsidered from the point of view of society as a whole. Imagine a largetelecommunications network whose capacity is sapped by thousands ofcomputer users who are not using their connections to in electronicnetwork to learn about distant, remote places but are instead usingtheir electronic network connections to access information about peopleand places standing-fight in front of them. Even if a telecommunicationsnetwork could support a vast number of such connections, the situationwould still remain inherently wasteful and may be likened to telephoningsomeone within speaking range.

Thus, individual computer users should benefit from improvements intheir ability to access information at remote locations. Likewise,society as a whole should benefit if such improvements are undertaken ina manner that does not inappropriately consume available resources.

SUMMARY OF THE INVENTION

An embodiment of the invention is a computer-readable medium to direct aportable computing device to function in a specified manner. Thecomputer-readable medium comprises a first set of instructions toreceive broadcast information including a data repository and formattinginformation, a second set of instructions to facilitate creation of asearch query, a third set of instructions to retrieve a search resultfrom the data repository based upon the search query, and a fourth setof instructions to transform the search result in accordance with theformatting information to produce formatted content.

Another embodiment of the invention is a computer-readable medium todirect a portable computing device to function in a specified manner.The computer-readable medium comprises a remote application serverconfigured to process information received from a wireless source,wherein the information includes a logic portion, a data repository, andformatting information. The remote application server includes a querygenerator module configured to produce a search query in accordance witha user input and in accordance with the logic portion, a data repositorymanager module configured to search the data repository in accordancewith the search query to retrieve a search result, and a contentgenerator module configured to generate content in accordance with thesearch result and in accordance with the formatting information.

Another embodiment of the invention is a method of operating a portablecomputing device. The method comprises receiving broadcast informationincluding a data repository and formatting information, facilitatingcreation of a search query, retrieving a search result from the datarepository based upon the search query, and transforming the searchresult in accordance with the formatting information to produceformatted content.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention will be described below relative to thefollowing figures. Note that similar elements and steps in the figureshave the same reference number.

FIG. 1 illustrates a distribution network that allows information, suchas software applications, provided by information provider systems to bedownloaded to portable computing devices from wireless distributors,according to an embodiment of the invention.

FIG. 2 illustrates an information provider system, according to anembodiment of the invention.

FIG. 3 is a block diagram of a sample structuring system, according toan embodiment of the invention.

FIG. 4 illustrates a distributor, according to an embodiment of theinvention.

FIG. 4A illustrates a distributor's transceiver system that comprises anIR transceiver and an IR receiver, according to an embodiment of theinvention.

FIG. 4B illustrates a distributor's transceiver system that comprises anIR transceiver, a high power IR transmitter, and an IR receiver,according to an embodiment of the invention.

FIG. 4C illustrates a distributor's transceiver system that comprises anIR transceiver unit and a RF transceiver unit, according to otherembodiments of the invention.

FIG. 5 illustrates a three-layer software architecture that may beemployed by a distributor, according to an embodiment of the invention.

FIG. 6 illustrates an embodiment of a portable computing device having aclient configured for communications with a distributor, according to anembodiment of the invention.

FIG. 7A illustrates a remote application server (“RAS”), according to anembodiment of the invention.

FIG. 7B illustrates the processing that may be performed by variousmodules of a remote application server (“RAS”), according to anembodiment of the invention.

FIG. 7C illustrates a remote application server (“RAS”), according toanother embodiment of the invention.

FIG. 8 illustrates a sample application and data that may be received bya portable computing device from a distributor, according to anembodiment of the invention.

FIG. 9 illustrates signals sent from a distributor at various times,according to an embodiment of the invention.

FIG. 10 illustrates a beam interrogation sent by a distributor'stransceiver system and a received beam response sent by a portablecomputing device, according to an embodiment of the invention.

FIGS. 11 and 12 illustrate an architecture of a communication protocolthat directs communication between a distributor and a portablecomputing device, according to an embodiment of the invention.

FIGS. 13 and 14 illustrate an architecture of a communication protocolthat directs communication between a distributor and a portablecomputing device, according to an alternate embodiment of the invention.

FIG. 15 illustrates a flow diagram of steps that may be executed by adistributor in accordance with a data transfer transport layer,according to an embodiment of the invention.

FIG. 16 shows the timing specified by a data transfer transport layer ina situation where a distributor's transceiver system sends a beacon butdoes not receive an ACK in response thereto, according to an embodimentof the invention.

FIG. 17 illustrates the timing specified by a data transfer transportlayer in a situation where a distributor's transceiver system sends abeacon and receives an ACK in response thereto, according to anembodiment of the invention.

FIG. 18 illustrates the timing specified by a data transfer transportlayer in a situation where a distributor's transceiver system sends aninitial broadcast and does not receive an ACK in response thereto,according to an embodiment of the invention.

FIG. 19 illustrates the timing specified by a data transfer transportlayer in a situation where a distributor's transceiver system sends aninitial broadcast and receives ?in ACK in response thereto, according toan embodiment of the invention.

FIG. 20 illustrates a flow diagram of steps that may be executed by aportable computing device in accordance with a data reception transportlayer, according to an embodiment of the invention.

FIG. 21 shows the timing specified by a data reception transport layerin a situation where a portable computing device's transceiver receivesa beacon and sends an ACK in response thereto, according to anembodiment of the invention.

FIG. 22 shows the timing specified by a data reception transport layerin a situation where a portable computing device's transceiver receivesa broadcast and sends an ACK in response thereto, according to anembodiment of the invention.

FIG. 23 illustrates a frame or packet of information that may beincorporated in a beacon, in accordance with an embodiment of theinvention.

FIG. 24 illustrates a frame or packet of information that may beincorporated in an ACK, in accordance with an embodiment of theinvention.

FIG. 25 illustrates a frame or packet of information that may beincorporated in a broadcast, in accordance with an embodiment of theinvention.

FIG. 26 shows a broadcast frame in an alternate embodiment of theinvention.

FIG. 27 illustrates a broadcast frame in accordance with a furtherembodiment of the invention.

FIG. 28 is a flowchart that illustrates a battery conservationprocedure, according to an embodiment of the invention.

FIG. 29 illustrates an embodiment of a distributor that employs a ScoutElectromedia Modo motherboard augmented with a daughterboard.

FIG. 30 illustrates a Scout Electromedia Modo motherboard that providesa Flex paging receiver and processing devices, according to anembodiment of the invention.

FIG. 31 illustrates a daughterboard that includes a circuitry thatfurther supports a distributor's operations, according to an embodimentof the invention.

FIGS. 32A and 32B illustrate wall-mounted and table-mounted embodimentsof a distributor, respectively, according to embodiments of theinvention.

FIG. 33A illustrates an embodiment of a distributor that includes anexpansion port that provides an electronic network connection.

FIG. 33B illustrates an expansion port that allows a distributor tooperate peripheral equipment, according to an embodiment of theinvention.

FIG. 34 illustrates an alternative embodiment of the invention in whicha distributor includes a bulletin board service for users associatedwith portable computing devices that interact with the distributor.

FIG. 35 illustrates an administration and diagnostics tool, according toan embodiment of the invention.

DETAILED DESCRIPTION OF THE ILLUSTRATED EMBODIMENTS OF THE INVENTION

According to embodiments of the invention, a system and method provide arich environment for producing information, such as applications anddata, packaging the information for redistribution to remote nodes, andallowing the remote nodes to distribute the information to portablecomputing devices on demand. Embodiments of the invention allowcustomers to develop applications and accompanying data for distributionon demand from remote wireless nodes. Embodiments of the distributionnetwork may provide ‘a unique service to companies seeking to reachtheir customers and employees through a nationwide forum of wirelessdata nodes. Information (e.g., applications and data) distributedthrough the wireless data nodes may comprise text, graphics, interactiveapplications, corporate databases, audio, and video.

Embodiments of the invention further provide a system and method fordistributing information from remote data nodes that allow portablecomputing devices having a special client application to receiveinformation from and send information to the remote data nodes atdistances exceeding that conventionally available to the portablecomputing devices. Embodiments of the invention may employ a specializedprotocol for information transmission between remote data nodes andportable computing devices that facilitates extended rangecommunications. Embodiments of the distribution system and method mayfurther provide extended transmission and reception range withoutrequiring additional hardware on the portable computing device andwithout requiring my mechanical adjustments by the user of the portablecomputing device.

Embodiments of the invention also provide wireless data nodes, known as“distributors,” that have been designed for simplicity of use and may bedeployed in a fully functional state and require no wiring or majoradjustments prior to deployment and use. In some embodiments, adistributor may only require that an information transmission window beoriented to face portable computing devices that the distributor maycontact. The distributor's components may be placed in a small case ofonly a few square inches, with the distributor operating by batterypower, unattended for several years, while still obtaining newinformation wirelessly and re-distributing the information wirelessly ondemand. The distributors may typically reside in both indoor and outdoorenvironments.

Embodiments of the invention further provide a simple, standardmechanism that allows customers to prepare information (e.g.,applications and/or data) for distribution and use on the portablecomputing devices. Embodiments of the invention further provide aseamless, transparent information distribution network that providesremote data nodes at geographically dispersed locations with thecustomer-prepared information. Embodiments of the invention additionallyprovide a unique client application that may be downloaded to portablecomputing devices by a variety of mechanisms, including from wirelessdata nodes. The client application provides a remote application serverfor supervising the operations of applications and data provided fromthe wireless data nodes. The client application also provides a decoderthat performs communication tasks on the portable computing device thatpermits an extended communication range for many portable computingdevices without the inclusion of additional hardware or physical devicemodifications.

Definitions

The following definitions may apply to some of the elements describedwith regard to some embodiments of the invention. These terms maylikewise be expanded upon herein.

Acknowledgement Signal (“ACK”)—a signal that may be sent by a portablecomputing device, typically to acknowledge receipt of a beacon and/or abroadcast. According to some embodiments of the invention, an ACK sentby a portable computing device after receipt of a beacon may prompt adistributor to send a broadcast. An ACK may incorporate a frame orpacket of information, according to some embodiments of the invention.

Beacon—a signal that may be sent by a distributor, typically to identifythe presence of a portable computing device that is ready to receiveinformation (e.g., application(s) and/or data). According to someembodiments of the invention, a beacon may incorporate a frame or packetof information.

Beam Interrogation—a signal that may be sent by a distributor, typicallyto identify the presence of a portable computing device that is ready todownload a client. According to some embodiments of the invention, abeam interrogation may be generated using a conventional communicationprotocol, such as, for example, an Infrared Data Association (“IrDA”)communication protocol.

Broadcast—a signal comprising information (e.g., application(s) and/ordata) that may be sent by a distributor to a portable computing device.According to some embodiments of the invention, a broadcast mayincorporate a frame or packet of information.

Client—a facility or group of facilities configured to downloadinformation (e.g., application(s) and/or data) to a portable computingdevice and/or configured to process downloaded information. According tosome embodiments of the invention, a client may comprise a computerprogram, or a group of computer programs, that resides within a portablecomputing device. According to some embodiments of the invention, aclient may include a decoder that is configured to direct communicationsassociated with a transfer of information between a portable computingdevice and a distributor. According to some embodiments of theinvention, a client may include a remote application server (“RAS”)configured to process application(s) and/or data, typically applicationsand/or data downloaded by a portable computing device.

Data Transfer Communication Protocol—a set of rules and operatingprocedures that supervise communications associated with transferringinformation (e.g., application(s) and/or data) between a distributor andone or more portable computing devices. According to embodiments of theinvention, a data transfer communication protocol supervisessending/receiving of one or more of the following signals: a beacon, anACK, and a broadcast. According to embodiments of the invention, a datatransfer communication protocol may be incorporated in a data transfermodule and a data reception module, which are respectively included in adistributor and a portable computing device. According to someembodiments of the invention, a data transfer communication protocol mayassist a distributor in conserving its power and/or may extend the rangeof communication beyond a conventional communication range of a portablecomputing device.

Decoder—a facility or group of facilities that is configured to processcommunication associated with transfer of information (e.g.,application(s) and/or data) between a portable computing device and adistributor. According to some embodiments of the invention, a decodermay reside within a portable computing device. The decoder may receiveand/or process information (e.g., applications and/or data) downloadedby a portable computing device. According to some embodiments of theinvention, a decoder may assist preexisting hardware and/or software ona portable computing device to communicate with a distributor. Accordingto some embodiments of the invention, a decoder may include a computerprogram, or a group of computer programs, that provides a portion of aclient communication layer. According to some embodiments of theinvention, a decoder may include a data reception module that isconfigured to support a data transfer communication protocol used by adistributor in broadcasting information to a portable computing device.According to some embodiments of the invention, a decoder may include apacket re-assembly module that is configured to reassemble packetsreceived according to a data transfer communication protocol and placethem into a meaningful data stream that can then be passed to otherportions of a client and beyond.

Distribution Network—a facility or group of facilities that isconfigured to deliver information (e.g., client, application(s), and/ordata) to a portable computing device. According to some embodiments ofthe invention, a distribution network may comprise an informationprovider system that is configured to produce and/or to locateinformation suitable for ultimately downloading to a portable computingdevice. According to some embodiments of the invention, a distributionnetwork may comprise a structuring system that is configured to deliverinformation to one or more distributors for eventual downloading to aportable computing device. According to some embodiments of theinvention, a distribution network may comprise one or more distributorsthat provide information to portable computing devices. According tosome embodiments of the invention, a distribution network may compriseone or more wired and/or wireless communication media, such as, forexample, an electronic network linking an information provider systemand a structuring system and a system communication network linking thestructuring system and one or more distributors.

Distributor—an apparatus that comprises processing and communicationcapabilities configured to provide information (e.g., client,application(s), and/or data) to portable computing devices. According toan embodiment of the invention, a distributor may comprise a local datacache having a relatively small physical size that dispenses informationwirelessly to portable computing devices. A distributor may havewirelessly received the information it wirelessly distributes, accordingto an embodiment of the invention. Distributed information may have somerelationship to a location where a distributor is placed, according toan embodiment of the invention. A distributor may include a CPUconnected to a memory and a communication device. The communicationdevice may be configured for wired and/or wireless communicationsaccording to one or more communication protocols. A distributor may alsocomprise other hardware elements, such as, for example, an input/outputdevice and/or a battery, and software elements, which may be included inthe memory. According to some embodiments of the invention, adistributor may receive information from a structuring system via asystem communication network and may format the information fortransmission to a portable computing device. According to an embodimentof the invention, a distributor may comprise a wireless andbattery-powered apparatus, and the distributor may receive informationwirelessly from a structuring system and dispense information wirelesslyto a portable computing device. According to some embodiments of theinvention, a distributor may dispense information having no particularassociation with a given location. A distributor's operations need notbe limited to mere distribution of information to portable computingdevices. In some embodiments of the invention, a distributor may receiveinformation from portable computing devices and provide the informationto other computing systems, including other portable computing devices.

Electronic Network—any wired and/or wireless communication medium acrosswhich information (e.g., client, application(s), and/or data) may besent and/or received. Examples of an electronic network include theInternet, intranet, public switched telephone network (“PSTN”), wirelessvoice and data networks, paging networks, and television networks, suchas satellite, broadcast, cable television, and two-way interactivecable. Another example of an electronic network includes hybrid systems,such as those in which information is sent via one medium, such as cabletelevision, and information is received via another medium, such as theInternet. A further example of an electronic network may includeaggregated systems, such as where information is sent and/or receivedvia multiple media, such the Internet, the telephone, and cabletelevision. According to some embodiments of the invention, anelectronic network may comprise a wired network through whichinformation passes from an information provider system to a structuringsystem.

Information Provider System—a facility or group of facilities configuredto produce and/or to upload information (e.g., client, application(s),and/or data) suitable for ultimately downloading to a portable computingdevice. According to some embodiments of the invention, an informationprovider system may comprise a conventional server computer withconventional server computer components, including a CPU connected to amemory (primary and/or secondary). The server computer may also includeother components, such as, for example, one or more databases andsoftware elements, which may be included in the memory. In particular,the software elements may include one or more computer programsconfigured to facilitate creating and/or uploading information (e.g.,applications and/or data) to be ultimately downloaded to a portablecomputing device. According to some embodiments of the invention, aninformation provider system may provide information to a structuringsystem over an electronic network.

Portable Computing Device—a relatively lightweight apparatus withprocessing and communication capabilities. More particularly, a portablecomputing device may comprise an apparatus with processing andcommunication capabilities that may be carried by a user. Examples ofportable computing devices include personal digital assistants (“PDAs”),Palm Pilots, two-way pagers (e.g., Blackberry wireless devices),cellular phones, and laptop computers. According to some embodiments ofthe invention, a portable computing device includes a CPU connected to amemory and a communication device. The communication device may beconfigured for wired and/or wireless communications according to one ormore communication protocols. A portable computing device may alsoinclude other hardware elements, such as, for example, an input/outputdevice, and software elements, which may be included in the memory.

Remote Application Server (“RAS”)—a facility or group of facilities thatmay be configured to process information (e.g., application(s) and/ordata) downloaded by a portable computing device. According to someembodiments of the invention, a RAS may reside within a portablecomputing device. According to some embodiments of the invention, a RASmay execute one or more applications using data downloaded by a portablecomputing device. According to some embodiments of the invention, a RASmay include a computer program, or a group of computer programs, thatprovides an application layer on a client.

Structuring System—a facility or group of facilities configured todeliver information (e.g., client, application(s), and/or data) to oneor more distributors for eventual downloading to a portable computingdevice. According to some embodiments of the invention, a structuringsystem may be configured to format information into a format suitablefor transmission to a distributor and/or into a format suitable foroperation on a portable computing device. According to some embodimentsof the invention, a structuring system may include a conventional servercomputer with conventional server computer components, including a CPUconnected to a memory (primary and/or secondary). The server computermay also comprise other components, such as, for example, a transmitterand software elements, which may be included in the memory. According tosome embodiments of the invention, a structuring system may provideinformation, typically in the form of messages, to various distributorsover a system communication network. According to some embodiments ofthe invention, a structuring system may receive information from one ormore information provider systems over an electronic network.

System Communication Network—any wired and/or wireless communicationmedium across which information (e.g., client, application(s), and/ordata) may be sent and/or received. Examples of a system communicationnetwork include paging networks, Internet, intranet, public switchedtelephone network (“PSTN”), wireless voice and data networks, andtelevision networks, such as satellite, broadcast, cable television, andtwo-way interactive cable. Another example of a system communicationnetwork includes hybrid systems, such as those in which information issent via one medium, such as cable television, and information isreceived via another medium, such as the Internet. A further example ofa system communication network may include aggregated systems, such aswhere information is sent and/or received via multiple media, such theInternet, the telephone, and cable television. According to someembodiments of the invention, a system communication network maycomprise a wireless network through which information passes from astructuring system to a distributor. In an embodiment of the invention,a system communication network comprises a paging network, andinformation passes from a structuring system to a distributor in theform of paging messages.

Distribution Network 120

FIG. 1 illustrates a distribution network 120 that allows information,such as software applications and/or related data, provided byinformation provider systems 101 to be downloaded to portable computingdevices 107 from wireless distributors 103, according to an embodimentof the invention. The information provider systems 101 may includefacilities for producing and/or uploading information suitable forultimately downloading to the portable computing devices 107.

The information provider systems 101 may subsequently provide theinformation to a structuring system 102 over an electronic network 110.The electronic network 110 may comprise any network suitable fortransmitting information, such as the Internet, a local area network,the World Wide Web, etc. The structuring system 102 has been configuredto format the information (e.g., applications and data) into a formatsuitable for operation on the portable computing devices 107 and/or intoa format suitable for transportation to the distributors 103.Accordingly, information providing systems (and personnel) associatedwith the information provider system 101 may require no skill orknowledge of the transportation mechanisms used to place the informationon the portable computing devices 107.

The structuring system 102 provides the information, typically in theform of messages, to the various distributors 103 over a systemcommunication network 111. According to an embodiment of the invention,the system communication network 111—may comprise a wireless network inwhich the information passes from a transmitter 115 on the structuringsystem 102 to a network receiver 104 on the distributor 103. In anembodiment of the invention, the system communication network 111comprises a paging network, and the transmitter 115 sends theinformation to the distributors 103 in the form of paging messages.

The distributors 103 may comprise wireless data caches that dispenselocalized information to portable computing devices 107, according to anembodiment of the invention. As wireless and battery-powered computingsystems, the distributors 103 may be placed in a wide variety ofenvironments and have their information routinely updated from thesystem communication network 111, according to an embodiment of theinvention. Embodiments of the distributors 103 may be placed in a smallcase of only a few square inches and operate unattended for severalyears.

The distributors 103 may include a network receiver 104 that receivesinformation from the structuring system 102. The distributors 103 maythen format information received from the structuring system 102 forrebroadcast to the portable computing devices 107. A transceiver system105 on the distributors 103 may broadcast information on demand toportable computing devices 107.

The transceiver system 105 may periodically transmit a beacon 112. Aportable computing device 107 that receives the beacon 112 through itstransceiver 106 and contains a specialized client 121 may return a firstacknowledgement signal (“ACK”) 114 to the transceiver system 105.Receipt of the first ACK 114 may prompt the distributor 103 to send thetransceiver 106 a broadcast 118 that incorporates the informationtransmitted to the distributor 103 from the structuring system 102. Thetransceiver 106 may acknowledge the broadcast 118 by sending a secondacknowledgement signal (“ACK”) 119. The transceiver system 105 may bespecifically designed to send the beacon 112 and the broadcast 118 tothe portable computing devices 107 at distances in excess of theconventional communication range for the transceiver 106, according toan embodiment of the invention. In addition, the transceiver system 105may receive the first ACK 114 and the second ACK 119 at distances inexcess of the conventional communication range for the transceiver 106,according to an embodiment of the invention.

The portable computing devices 107 typically require no additionalhardware in order to receive information broadcasts 118, includingextended range broadcasts 118, from the distributor 103, according to anembodiment of the invention. However, the portable computing devices 107must typically include the client 121. The portable computing devices107 may obtain the client 121 in a variety of ways, including from thedistributor 103. In particular, the distributor 103 may direct thetransceiver system 105 to periodically transmit a beam interrogation 124to identify the presence of a portable computing device 107 that isready to download the client 121. A portable computing device 107 thatreceives the beam interrogation 124 through its transceiver 106 mayreturn a beam response 126 to the transceiver system 105. Receipt of thebeam response 126 may prompt the distributor 103 to provide a downloadsignal 122 that downloads the client 121 into the portable computingdevice 107. Of course, the beam interrogation 124, the beam response126, and the download signal 122 generally may be within a conventionalcommunication range for the transceiver 106, according to an embodimentof the. invention.

The information provider system 101, the structuring system 102, thedistributors 103, and the portable computing devices 107 may comprisevarious forms of computing equipment. In some instances, the informationprovider system 101 and the structuring system 102 may even comprisemultiple computing systems. The computing systems used in thedistribution network 120 may comprise conventional computer designs,according to an embodiment of the invention.

Information Provider System 101

FIG. 2 illustrates an information provider system 101, according to anembodiment of the invention. The information provider system 101attempts to provide an information development platform that allowsoperators of the information provider system 101 to produce and/orupload information (e.g., applications and/or data) without necessarilyhaving to know much, if anything, about the operations of thedistribution network 120, according to an embodiment of the invention.In addition, embodiments of the information provider system 101 attemptto provide a development platform that frees information producers fromhaving to know much even about developing programs, according to anembodiment of the invention.

The information provider system 101 may comprise a central processingunit (“CPU”) 202 associated with a computer that drives the informationprovider system 101. The information provider system 101 may alsoinclude a hosting database 212 that retains data, such as datapertaining to an entity (e.g., customer) operating the informationprovider system 101, which may be helpful in the development ofinformation for the distribution network 120. An information database211 may retain information produced using the information providersystem 101 and/or produced elsewhere and uploaded to the informationprovider system 101, according to an embodiment of the invention. Theinformation provider system 101 may also include a provider database 213that retains data pertaining to an entity that provides the structuringsystem 102, e.g., computer-readable instructions for providinginformation to the structuring system 102.

The information provider system 101 provides various mechanisms (e.g.,computer programs) for creating and/or uploading information foreventual download into individual portable computing devices 107. Themechanisms provided for creating and/or uploading information mayinclude a partner (e.g., customer) log in portion of the informationprovider system 101, various templates, wizards, and an authoring tool.The mechanisms may also provide various means for publishing newinformation. To allow information provider system operators (e.g.,customers) to enter information targeted to specific distributors 103and portable computing systems 107, the information provider system 101may include a simplified programming interface (e.g., a web-basedinterface). The information provider system 101 may also include amemory 201 that includes the elements of a development environment forproducing information suitable for operation on the portable computingdevices 107, according to an embodiment of the invention. Components ofa development environment may include an uploader 204, a templater 205,a wizard 206, a GUI composer 207, an HTTP server 214, an applicationserver 215, an XML generator 216, a SQL adapter 209, and a rules wizard210. The SQL adapter 209 and the rules wizard 210 may interact with theinformation database 211 to determine data sets and rules associatedwith data sets that may be included in the information downloaded to theportable computing devices 107.

The uploader 204 may provide a mechanism to upload information (e.g.,applications and/or data) produced elsewhere to the information providersystem 101. The templater 205 may provide a template(s) for the creationof information in a format that simplifies development of theinformation. According to an embodiment of the invention, the templater205 may provide a template with one or more blank spaces that may befilled in with information by an operator of the information providersystem 101. The wizard 206 may provide instructions and complete varioustasks, thereby freeing the operator of the information provider system101 from having to know much if anything about the details of thesystem. According to an embodiment of the invention, the wizard 206queries an operator of the information provider system 101 forinformation and uses the information to complete a form that buildsinformation (e.g., applications and/or data) that may ultimately bedistributed to portable computing devices 107. The GUI composer 207provides a user interface to the operator of the information providersystem 101 that assists the operator in developing information to bedistributed to the portable computing devices 107. According to anembodiment of the invention, the GUI composer 207 provides a web-basedinterface that allows the operator to create and preview information tobe distributed to portable computing devices 107. In some embodiments,the uploader 204, the templater 205, the wizard 206, and the GUIcomposer 207 may be provided in HTML for operation by other components,e.g., the HTTP server 214.

The HTTP server 214 provides various HTML commands that may be used todevelop the information downloaded to the portable computing devices107. The application server 215 performs the logic that holds theinformation development environment together and determines whichdevelopment subcomponents are needed at any given moment in thedevelopment process. The XML generator 216 assists in the development ofinformation by serving as a repository for different XML schemas thatmay be used for information that is provided to the portable computingdevices 107, according to some embodiments of the invention. Accordingto some embodiments of the invention, the XML generator 216 formatsinformation that has been created and/or uploaded into a XML file.According to some embodiments of the invention, the XML file may includetags that provide structure and/or indicate type of information includedin the XML file or a portion of the XML file. According to someembodiments of the invention, the XML file, which includes informationto be delivered to portable computing devices 107, may be transmitted tothe structuring system 102. In such embodiments, the XML generator 216may essentially “wrap” the information in such a manner that elements onthe structuring system 102 may readily gain an understanding of theinformation's structure (e.g., HTML scripts, data tables, drawings,etc.)

The Structuring System 102

FIG. 3 is a block diagram of a sample structuring system 102, accordingto an embodiment of the invention. The structuring system 102 generallymanages message formatting and the protocols needed to communicate withvarious distributors 103 across the system communication network 111.The structuring system 102 may also queue and store information to betransmitted to the distributors 103 in preparation for scheduledtransmissions.

The structuring system 102 receives information from one or moreinformation provider systems 101 for eventual transmission todistributors 103 and portable computing devices 107. According to someembodiments of the invention, the structuring system 102 may receiveinformation having a format resembling an XML file from the informationprovider system 101. The structuring system 102 may operate on anycomputing platform and comprises a CPU 307 and a memory 301. The memory301 may comprise a number programs and data configured for executionand/or operations by the CPU 307. These programs include a subscriberregistry 302, network data 303, message data 304, a message packager305, and a message publisher 306.

The subscriber registry 302 retains data associated with the customersof the distribution network 120. The customers may typically comprisecompanies, organizations, and individuals that have information (e.g.,applications and/or data) that they would like to make available toportable computing devices 107 via one or more distributors 103. Forexample, a customer could be a museum that has one or more emplaceddistributors 103 on its campus. A customer could also be a large softdrink company that would like to make information (e.g., coupons andproduct offers) available at all distributors 103 within a particulargeographic region. A customer could also be a business associated with aparticular location having installed distributors 103, according to anembodiment of the invention. Each customer may not necessarily have itsown information provider system 101, although it is contemplated thatmany customers would each be associated with a particular informationprovider system 101. Of course, some customers may have informationsuitable for downloading to the portable computing devices 107 that hasnot been developed on an information provider system 101. Thestructuring system 102 may receive such information and prepare it forprocessing in the same manner as information produced on the informationprovider system 101. It is assumed that many customers will want toproduce information in association with the information provider system101, although this may not necessarily always be the case.

The network data 303 comprises information regarding the systemcommunication network 111. The message publisher 306 may access thenetwork data 303 when sending information to be broadcast from thetransmitter 115 over the system communication network 111. The messagepublisher 306 may retrieve information to be sent to the distributors103 from the message data 304.

The message packager 305 attends to processing (e.g., formatting)information in a manner compatible with the protocol used by the systemcommunication network 111, e.g., the protocol expected by the networkreceiver 104. For example, an embodiment of the invention may employ apaging network as the system communication network 111. In such anembodiment, the message packager 305 may prepare messages in a formatsuitable for transmission by a protocol associated with the pagingnetwork.

The transmitter 115 performs transmission of information to thedistributors 103 across the system communication network 111. Thetransmitter 115 may require different hardware/software combinationsdepending upon the system communication network 111 employed. Forexample, an embodiment of the system communication network 111 maycomprise a paging network. Accordingly, the transmitter 115 may eithercomprise an actual transmission device that performs broadcasting todistributors 103 in accordance with a particular paging protocol (e.g.,the one-way Flex protocol), or the transmitter 115 may comprise a devicethat provides the information to be broadcast to a third partytransmitter that actually performs the transmission. In this laterexample, the transmitter 115 may actually comprise equipment (e.g., amodem) that provides the information across an electronic network (e.g.,the Internet) to a third-party transmitter. An ordinary artisan willrecognize that the precise equipment used in the transmitter 115 maydepend upon a number of factors, provided the resulting combination ofequipment properly deliver information across the system communicationnetwork 111 to the network receivers 104 in one or more distributors103.

The Distributor 103

FIG. 4 illustrates the distributor 103, according to an embodiment ofthe invention. The distributor 103 may also be viewed as a “local datacache,” in that the distributor 103 may dispense information to theportable computing devices 107 that relates to a location where thedistributor 103 has been installed. Of course, the distributor 103 mayalso dispense information having no particular association with a givenlocation. However, providing location-related information to portablecomputing devices 107 may enhance the portable computing device user'sexperiences at the local site and/or provide a source of immediate andvaluable information. As previously mentioned, embodiments of thedistributor 103 may comprise small, wireless, battery-powered devices.

In order to take advantage of the information received from thedistributor 103, the portable computing devices 107 typically need toreceive and install the specialized client 121 configured to receivebroadcasts 118 from the distributor 103 and process them on the portablecomputing device 107. The distributor 103 may also include reprogrammingsupport so that the distributor 103 itself may receive new programsand/or updates for existing programs, according to an embodiment of theinvention. According to some embodiments of the invention, thedistributor 103 may receive new programs and/or updates for existingprograms from the structuring system 102 via the system communicationnetwork 111. Likewise, the distributor 103 may receive a new client 121or an update for an existing client 121 via the system communicationnetwork 111, according to an embodiment of the invention. The new client121 or update for the existing client 121 may be downloaded to theportable computing devices 107.

In an embodiment of the invention, the distributor 103 may collectinformation (e.g., applications and/or data) from the systemcommunication network 111 (e.g., a wireless wide area network) andredistribute the information to nearby portable computing devices 107(e.g. distribution within a wireless “pico cell”). The distributor 103may use a one-way paging network for information reception and a shortrange two-way infrared (“IR”) communication mechanism to distribute theinformation locally to portable computing devices 107, according to anembodiment of the invention. Hence, embodiments of the distributor 103may receive and process paging communications and generate IRcommunications for information broadcasts 118 to the portable computingdevices 107. According to some embodiments of the invention, thedistributor 103 may use a one-way communication mechanism (e.g., aone-way IR communication mechanism) to distribute information locally toportable computing devices 107. In particular, the distributor 103 mayrepeatedly send broadcasts 118 for a given time interval(s) of a givenday(s), according to an embodiment of the invention. According to anembodiment of the invention, the distributor 103 need not be prompted bya portable computing device 107 in order to repeatedly send broadcasts118. According to some embodiments of the invention, the distributor 103may offer portable computing devices 107 more than one piece ofinformation for downloading. In such embodiments, the distributor 103may offer (e.g., download) a menu of its available selections for whicha user associated with a portable computing device 107 may make aselection which is returned to the distributor 103 using a protocolprocedure described herein.

The distributor 103 may operate without user intervention and maytypically require no special configuration or maintenance concerns.Embodiments of the distributor 103 may also operate without anyconnections such as to an external power source or wiring.

The distributor 103 may comprise a network receiver 104, a memory 405, arandom access memory (“RAM”) 412, a CPU 422, a battery 411, and atransceiver system 105, according to an embodiment of the invention.According to some embodiments of the invention, the memory 405 mayinclude a nonvolatile memory. According to some embodiments of theinvention, the memory 405 may include a volatile memory and/or acombination of a volatile memory and a nonvolatile memory. The memory405 may provide storage for the various programs accessed and run by theCPU 422. These programs may include a communication server 402, an assetserver 408, and an administration server 410. The communication server402 may process messages received by the network receiver 104 from thesystem communication network 111 and forward the processed messages tothe asset server 408. The asset server 408 may identify informationincorporated in the processed messages that is to be downloaded to theportable computing devices 107. The asset server 408 may retaininformation to be downloaded in a data repository 409. Theadministration server 410 may direct the operations of the distributor103 and supervise maintenance tasks performed on the distributor 103.

The distributor 103 may include the transceiver system 105 as a means ofcommunicating with portable computing devices 107, according to anembodiment of the invention. The transceiver system 105 may comprise aline-of-sight communication device, such as an infrared transceiver,according to an embodiment of the invention. The transceiver system 105may, alternatively or in conjunction, comprise a short-range ormedium-range radio frequency communication device, such as a Bluetoothenabled device, according to an embodiment of the invention. An ordinaryartisan will recognize that combinations of receiver(s) andtransmitter(s) may be used in place of, or in conjunction with,transceiver(s) in the transceiver system 105.

The distributor 103 may provide increased power for the transceiversystem 105 as a means for increasing the range of its transmissionsand/or the range from which it can receive transmissions from theportable computing devices 107, according to an embodiment of theinvention. In some embodiments, the transceiver system 105 may transmitand receive signals at distances considerably in excess of theconventional transmission distances of many portable computing devices107 (e.g., 10 to 30 feet versus 3 feet for Palm Pilots).

The transceiver system 105 may be configured to generate a beacon 112, abroadcast 118, a beam interrogation 124, and a download signal 122 andsend these signals to one or more portable computing devices 107,according to an embodiment of the invention. The transceiver system 105may receive acknowledgement signals (“ACK”) 114, 119 and a beam response126 from the portable computing devices 107, according to an embodimentof the invention. The roles of these signals will be discussed furtherherein.

While the transceiver system 105 may be made to operate as a RF-basedsystem, an overall goal of an embodiment of the distribution network 120is interoperability with pre-existing portable computing devices 107.Since more than a billion portable computing devices 107 already includean infrared (“IR”) capability, many embodiments of the distributor 103may support IR communications, at least until other communicationssystems become more popular. Thus, as will be discussed, the transceiversystem 105 may be enabled for receipt of digital and/or analogtransmissions and may also be enabled to receive point-to-point and/ormulticast transmissions, according to various embodiments of theinvention.

Network Receiver 104 Operations

The distributor 103 may include a network receiver 104. For example, thenetwork receiver 104 may receive transmissions from the structuringsystem 102 via a system communication network 111. Once the distributor103 has received and processed a transmission, the distributor 103 maythen broadcast the transmissions to a plurality of portable computingdevices 107 (e.g., broadcast in accordance with the protocol describedherein). Thus, the network receiver 104 receives transmissions into thedistributor 103 for later transmission out of the distributor 103 by thetransceiver system 105. As will be discussed, embodiments of theinvention receive transmissions into the distributor 103 according to afirst communication protocol and broadcast information to the portablecomputing devices 107 according to a second communication protocol.

The network receiver 104 may comprise a communication device configuredfor receiving paging transmissions according to a one-way protocol,according to an embodiment of the invention. A suitable one-way protocolis Motorola's Flex protocol, which may be deployed in an embodiment ofthe invention. The network receiver 104 may, alternatively or inconjunction, be configured for reception of radio frequency broadcastsfrom another radio frequency network, according to an embodiment of theinvention.

The communication server 402 may direct operations of the networkreceiver 104 and provide an interface between the distributor 103 andthe system communication network 111. Embodiments of the communicationserver 402 may support wireless communications. The communication server402 may manage message formatting and communication protocol tasksneeded for communicating with the system communication network 111. Thecommunication server 402 may also provide message queuing and localmessage storage of information received over the system communicationnetwork 111. Alternatively or in conjunction, the communication server402 may deliver information to the asset server 408, which may conductthe queuing and storage operations in the data repository 409, accordingto embodiments of the invention.

The system communication network 111 facilitates communications betweenthe structuring system 102 and the distributors 103 in the distributionnetwork 120. Thus, the system communication network 111 may be used totransfer information from the structuring system 102 to individualdistributors 103. The systems communication network 111 may use awireless communication system. According to an embodiment of theinvention, the system communication network 111 may comprise a pagingnetwork. For example, the system communication network 111 may comprisea one-way paging network, such as the Flex paging network offered byMotorola®.

The system communication network 111 may not necessarily be configuredfor rapid information transmissions, according to an embodiment of theinvention. For example, embodiments of the Flex paging network, whichmay be used to provide the system communication network 111, typicallytransmits information at a relatively slow 1600 bps. In addition, thesystem communication network 111 may be shared with transmissionsunrelated to the distributors 103. For example, the Flex paging networkmay comprise page transmissions to any sort of paging device in an urbanenvironment.

Accordingly, to account for limits in the amount of information that maybe transmitted to the distributors 103 at a given instance, operators ofthe structuring system 102 may send transmissions to the distributors103 during moments of relatively low traffic, such as at night. Inaddition, the operators associated with the structuring system 102 maymonitor available bandwidth on the system communication network 111 andsend transmissions to the distributors 103 as periods of higherbandwidth arise. Such transmissions may even include sending partialmessages to the distributors 103. In such instances, the distributor 103may reassemble a complete transmission from various messages that it hasreceived.

A protocol that may be used for transmissions between the structuringsystems 102 and various distributors 103 is described herein, accordingto an embodiment of the invention.

Transceiver System 105 Operations

The distribution network 120 may comprise a plurality of distributors103. Each distributor 103 may include a transceiver system 105 as ameans of communicating with portable computing devices 107, according toan embodiment of the invention. The transceiver system 105 may comprisea line-of-sight communication device, such as an infrared (“IR”)transceiver, according to an embodiment of the invention. Thetransceiver system 105 may, alternatively or in conjunction, comprise ashort-range or medium-range radio frequency communication device, suchas a Bluetooth enabled device, according to an alternative embodiment.

As shown in FIG. 4A, the transceiver system 105 may comprise an IRtransceiver 414 and an IR receiver 415, according to an embodiment ofthe invention. The IR transceiver 414 may include an IRtransmitter/receiver pair (not shown in FIG. 4A). The IR transceiver 414may conduct IrDA communications (e.g., for downloading the client 121),according to an embodiment of the invention. In addition, the IRtransceiver 414 may conduct transmissions associated with transfer ofinformation to the portable computing devices 107 (e.g., sending beacons112 and broadcasts 118). According to an embodiment of the invention, anoutput power of the IR transceiver 414 may be increased to increasetransmission range of the beacons 112 and broadcasts 118. The IRreceiver 415 may provide additional reception range and sensitivity fortransmissions sent to the distributor 103 from the portable computingdevices 107. According to an embodiment of the invention, the receiver415 may provide additional reception range and sensitivity for receivingACKs 114, 119 sent to the distributor 103 from the portable computingdevices 107.

FIG. 4B illustrates an embodiment of the transceiver system 105 thatfurther includes a high power IR transmitter 425 that may provideadditional transmission range for transmissions sent from thedistributor 103 to various portable computing devices 107. In anembodiment of the invention, the high power IR transmitter 425 may, inconjunction with the IR transceiver 414, provide the beacons 112 andbroadcasts 118. According to another embodiment of the invention, thehigh power IR transmitter 425 may provide the beacons 112 and broadcasts118, and the IR transceiver 414 may conduct IrDA communications (e.g.,for downloading the client 121).

The transceiver system 105 may be designed to compensate for sources ofinterference, such as sunlight and noise produced by other portablecomputing devices 107. Additionally, operation of the distributor 103may require that the function of the transceiver system 105 (e.g., itsIR port) be obvious and conspicuous. Accordingly, the transceiver system105 may include an IR window 421 that facilitates transmissions out ofand into the transceiver system 105. The IR window 421 may act as afilter that reduces distortion and/or noise. The distributor 103 mayinclude multiple LEDs (not shown in FIGS. 4A and 4B) as a means forwidening the beam projected by the transceiver system 105, according toan embodiment of the invention.

According to some embodiments of the invention, the receiver 415 mayoperate in conjunction with a filter 420 that enhances the receiver'sability to receive signals within a particular frequency range or withinone or more frequency ranges, according to an embodiment of theinvention. The filter 420 may be of conventional design, provided thatit keeps the receiver 415 tuned to a particular frequency range orparticular frequency ranges, according to an embodiment of theinvention. For example, the filter 420 may comprise a bandpass filterthat has been tuned for increased receiver sensitivity at the particularfrequency or range of frequencies of the ACKs 114, 119 in order toincrease the reception range for the ACKs 114, 119 in the distributor103. The receiver 415 may be tuned to a frequency, such as 38 kHz or37.5 kHz, to provide optimal performance, according to an embodiment ofthe invention.

The transceiver system 105 may provide three general types of signals,according to an embodiment of the invention. These signals include abeacon 112, a broadcast 118, and signals associated with downloading theclient 121 (e.g., the beam interrogation 124 and the download signal 122for the client 121). The transceiver system 105 may provide the beacon112 in closely spaced intervals (e.g., two-second intervals) as amechanism for discovering portable computing devices 107. Thetransceiver system 105 may be configured to send the broadcast 118several times to the portable computing devices 107 in order to makesure that a client (e.g., the client 121 shown in FIG. 1) properlyreceives the broadcast 118, according to an embodiment of the invention.The various signals provided by the transceiver system 105 may includeIR signals centered on a wavelength of 880 nm, according to anembodiment of the invention.

The transceiver system 105 may generate IR signals for the beaminterrogation 124, the download signal 122, the beacon 112, and/or thebroadcast 118 according to a first modulation scheme and detect IRsignals for the ACKs 114, 119 from the portable computing devices 107that are generated according to a second modulation scheme, according toan embodiment of the invention. For instance, the first modulationscheme may be an IrDA-type modulation scheme, and the second modulationscheme may be similar to the modulation schemes used by televisionremotes, according to an embodiment of the invention.

The distributor 103 may support a 115.2 kbps information transfer rateto portable computing devices 107, according to an embodiment of theinvention. To support a timely information transfer, the amount ofinformation transmitted from the distributor 103 to a portable computingdevice 107 may last just a few seconds (e.g., 5 seconds) per transfer,according to an embodiment of the invention. An optimal end userexperience may occur when the broadcast 118 is repeated with no morethan a few seconds (e.g., 5 seconds) of latency from the lasttransmission or when the broadcast 118 occurs within a few seconds(e.g., 5 seconds) of a request to transmit, according to an embodimentof the invention.

The portable computing devices 107 may send the ACKs 114, 119 to thetransceiver system 105. The portable computing devices 107 may transmitthe ACKs 114, 119 in a modulated manner that resembles the way in whicha television remote control device communicates with a television,according to an embodiment of the invention. The ACKs 114, 119 typicallycomprise a fairly short, fixed length transmission. The ACKs 114, 119may include information regarding the state of the portable computingdevice 107, its serial number, its model number, and/or various otherstatus and identification information, according to an embodiment of theinvention. In an alternative embodiment of the invention, the portablecomputing devices 107 may send larger transmissions to the distributors103 than provided by the ACKs 114, 119, or rather, the length of theACKs 114, 119 may be increased to provide additional information. Forinstance, such additional information may include a request for a giveninformation stored in the memory 405 of the distributor 103.

As shown in FIG. 4C, the transceiver system 105 may comprise an IRtransceiver unit 450 and a RF transceiver unit 452, according to otherembodiments of the invention. The IR transceiver unit 450 may comprisethe IR transceiver 414 and the IR receiver 415 as discussed inconnection with FIG. 4A, according to an embodiment of the invention.According to another embodiment of the invention, the IR transceiverunit may comprise the IR transceiver 414, the high power IR transmitter425, and the IR receiver 415 as discussed in connection with FIG. 4B.The RF transceiver unit 452 may comprise a short-range or medium-rangeradio frequency communication device, such as a Bluetooth enabledtransceiver or a Bluetooth enabled transmitter/receiver pair. Adistributor 103 comprising the transceiver system 105 shown in FIG. 4Cmay be configured to communicate with a portable computing device 107using an IR wireless communication protocol and/or a RF wirelesscommunication protocol.

The portable computing device 107 may include a client (e.g., the client121 shown in FIG. 1) that facilitates communications with thedistributor 103 using the protocol described herein. The distributor 103(or another distributor 103 of the distribution network 120) may providethe client 121 wirelessly to the portable computing devices 107. Thedistributor 103 is typically configured to provide the client 121 toportable computing devices 107 upon request, according to an embodimentof the invention. Portable computing devices 107 that have not yetreceived the client 121 must typically be within a conventionalcommunications distance from the distributor 103 in order to receive theclient 121. For example, a conventional Palm Pilot must typically bewithin a meter or less of the distributor 103 in order to receive theclient 121 via the transceiver system 105. Downloading the client 121may require the use of a conventional IR communication protocol (e.g.,IrDA) and “beaming” applications which many portable computing devices107 already support. Thus, the distributor's communication software mayuse the conventional IrDA Object Exchange (“OBEX”) protocol layer (andassociated lower level IrDA protocol layers) to distribute the client121. In some embodiments, the client 121 may be constrained to a sizethat allows the IrDA transfer to occur within a few seconds (e.g., 5seconds). Alternatively or in conjunction, the client 121 may beprovided to the portable computing device 107 using an RF communicationprotocol (e.g., Bluetooth). The client 121 may also be provided to theportable computing devices 107 in a variety of mechanisms other than, orin addition to, downloading from the distributor 103, according to anembodiment of the invention. Procedures for downloading the client 121to the portable computing devices 107 may include factory installationof the client 121, downloading over an electronic network (such as theWorld Wide Web), and providing the client 121 in conjunction with theinstallation of other software. In addition, it should be recognizedthat a portable computing device 107 that includes a first version ofthe client 121 may download a second version (or updated version) of theclient 121 from the distributor 103 via a broadcast 118, according to anembodiment of the invention.

Error Checking and Error Correction

An ordinary artisan will recognize that embodiment of the distributor103 may comprise receiving communications via essentially a one-wayinformation transmission (e.g., from the system communicator network111) and then subsequently redistributing the communications via anotherone-way information transmission (e.g., from the transceiver system105). Accordingly, the distributor 103 may benefit from error checkingand correction techniques since system operators may not easily be ableto verify that a given distributor 103 has 1) received a transmissionsent to it and 2) made the transmission available for properredistribution to a portable computing device 107.

Distributor 103 Software Architecture

As shown in FIG. 5, the distributor 103 may employ a three-layersoftware architecture that insulates high-level application functionsfrom the details of low-level kernel, communications, and hardwareoperations, according to an embodiment of the invention- The threelayers comprising this software architecture are a system layer 503, aplatform layer 502, and an application layer 501. The distributor'ssystem layer 503 software may comprise a kernel/operating system 504,hardware drivers 505, and transceiver protocol stacks 506 along withother software that interacts directly with the distributor's hardware.The distributor's platform layer 502 may provide a platform-independentinterface between lower level functions, such as those performed by thesystem layer 503, and higher level functions, such as those performed bythe application layer 501. Thus, the application layer 501 may use theplatform layer 502 to access kernel services, communication functions,and any other operations whose implementation is platform-specific.Software in the application layer 501 may use lower-layer services todeliver the information and software distribution features andsupporting functions that comprise the distributor 103. An ordinaryartisan will understand that the separation of platform-specific andplatform-independent code may allow engineers to port the applicationlayer 501 more quickly and reliably to later developed or modifieddistributors 103. Thus, only the platform layer 502 may typicallyrequire changing when porting distributor functionality to a new systemlayer 503.

The distributor's application layer 501 software may partition thedistributor's functionality into tasks such as, for example,administration, information distribution, monitoring functions, and/orvisual feedback, according to an embodiment of the invention. As shownin FIG. 5, the application layer 501 may comprise the asset server 408,the administration server 410, the communication server 402, and thedata repository 409, according to some embodiments of the invention.According to an embodiment of the invention, servers in the applicationlayer 501 (e.g., the asset server 408 and the administration server 410)may be configured for operations in a multitasking environment, i.e.,these servers may execute their respective tasks concurrently.

The asset server 408 may manage the data repository 409 (e.g., adatabase). The data repository 409 may be configured to retaininformation (e.g., client 121, application(s), and/or data) forsubsequent delivery to portable computing devices 107.

The data repository 409 may also be configured to retain otherinformation, such as, for example, scheduling information fortransmissions across the system communication network 111, according toan embodiment of the invention. The asset server 408 may interact withthe communication server 402 to receive information sent from the systemcommunication network 111, according to an embodiment of the invention.The asset server 408 may also interact with the communication server 402to deliver information to portable computing devices 107, according toan embodiment of the invention.

According to some embodiments of the invention, the communication server402 may provide an interface or link between the asset server 408(and/or the administration server 410) and communication stacks 515. Inparticular, the communication server 402 may direct assembly (ordisassembly), compression (or decompression), error checking, and/orformatting of information passed between the asset server 408 (and/orthe administration server 410) and the communication stacks 515.According to some embodiments of the invention, the communication server402 may maintain and/or construct one or more communication pathsbetween the asset server 408 and the communication stacks 515. Acommunication path may be a chain of an input/output stream thatprocesses information from an information source at one end (e.g., thecommunication stacks 515) such that an information recipient at anotherend (e.g., the asset server 408) may recognize and/or utilize theinformation. According to one embodiment of the invention, acommunication path may include one or more operations or processingsteps. For instance, a communication path associated with the networkreceiver 104 may include operations such as (1) receive informationpackets from network receiver communication stacks 516; (2) assembleand/or sort the packets; (3) perform error checking analysis (e.g.,checksum validation); (4) decompress the information in the packets; and(5) deliver the information to the asset server 408. As another example,a communication path associated with the transceiver system 105 mayinclude one or more operations that receive information from the assetserver 408 and convert the information into a format that may be used bythe transceiver protocol stacks 506 for broadcasting to portablecomputing devices 107 via the transceiver system 105.

According to some embodiments of the invention, the communication server402 may dynamically construct a communication path in accordance withone or more commands. For instance, the asset server 408 may issue afirst command, or a first set of commands, at a given time to direct thecommunication server 402 to dynamically construct a communication pathfor communications received from the system communication network 111,and the asset server 408 may issue a second command, or a second set ofcommands, to direct the communication server 402 to dynamicallyconstruct a communication path for communications associated with thetransceiver system 105. According to an embodiment of the invention, oneor more of these commands may be retained in the data repository 409.The retained commands in the data repository 409 may be received atvarious times, e.g., distributor initialization, from a systemcommunication network transmission, etc. According to an embodiment ofthe invention, one or more commands may be transmitted from thestructuring system 102 over the system communication network 111.Alternatively or in conjunction, one or more commands may be transmittedby a portable computing device 107 and received by the transceiversystem 105.

The communication server 402 may include rules for directing theassembly of broadcasts 118 to specific clients 121 that accommodatedifferent client capabilities and limitations that may differ acrossportable computing device platforms and versions. Likewise, thecommunication server 402 may prepare broadcasts 118 to withstand thepossible loss of data during transmission, e.g., error correction andredundancy. For example, the communication server's payload assemblyrules may encode dependencies among payload elements that may permit thetransceiver protocol stacks 506 to deliver partial information to aportable computing device 107 while maintaining consistent referentialintegrity, e.g., the client 121 on the portable computing device 107 canreceive information in pieces and can determine when it has received acomplete transmission.

An administration server 410 on the distributor 103 provides aninterface for managing the distributor 103's configuration and data. Theadministration server 410 may receive data and instructions pertainingto maintenance and operations of the distributor 103 and perform therequested updates. The data and instructions may be received from thestructuring system 102 (e.g., via the system communication network 111)and/or from other systems, such as a portable computing device 107configured for administrative operations. For example, theadministration server 410 may set schedules for when the distributor 103receives and broadcasts information, collect and provide diagnosticinformation, and perform any other functions that modify or expose thestate of the distributor 103. In accordance with some embodiments of theinvention, the administration server 410 may manage or retain one ormore identification codes that indicate which transmissions sent overthe system communication network 111 should be received by thedistributor 103. The administration server 410 may include a statusmonitor that checks various distributor operations and reports on theircondition for subsequent analysis by internal device monitoring andsupport services, as well as for subsequent downloading toadministrative devices. According to an embodiment of the invention, theadministration server 410 may monitor state and statistical information,such as, for example, number of client downloads, number ofapplication(s) and/or data downloads, and total bytes stored in the datarepository 409.

The platform layer 502 may free the application layer 501 from having toperform platform-specific operations and provide an interface with thesystem layer 503. In some embodiments, the platform layer 502 mayprovide a platform-independent interface 509 to system layer 503services. The platform layer 502 may manage platform-specific operationsusing a manager 508 that frees the application layer 501 from having toknow the details of these activities.

The platform layer 502 may define the cross-platform interface 509 toservices provided by the kernel 504, such as multitasking,synchronization, mutual exclusion, messaging, timing, and storage. Theplatform layer 502 may also homogenize the communication features of thesystem layer 503 with an abstract endpoint interface 510. Theapplication layer 501 may instantiate active or passive endpoints thatprovide connectionless, streaming, or transactional communication overone or more of the platform layer's physical interfaces.

The platform layer 502 may encapsulate or abstract hardware-specificfeatures and operations. The platform layer 502 may provide theapplication layer 501 access to non-volatile parameters, such asdistributor device ID, platform version, and persistent applicationparameter storage. The platform layer 502 may further provide a view ofthe platform feature set 511, an interface to the status indicator 512,and access to hardware operations 513, like reset. To the extentpossible, the platform layer 502 may handle power management operations,freeing the details of these operations from the application layer 501.The platform layer 502 may offer platform-specific diagnostic functions,like machine exception handling, stack tracing, and memory auditing. Theplatform layer 502 may also provide the application layer 501 withaccess to a suite of test functions 514 defined by the system layer 503.

The system layer 503 may contain functions that directly interface toand control the distributor's hardware. The system layer 503 may includeapplication programming interfaces (“APIs”) 518 that may be defined forpresentation to the platform layer 502 for facilitating control andcommunications functions. The APIs 518 may be included for any existingfunctionality and devices used in the distributor 103. For example,pre-defined APIs for borrowed software (e.g., FLEX and IrDAcommunications stacks that may be included in the communication stacks515) may be integrated into the APIs 518 provided by the distributor103, according to an embodiment of the invention. Additionally, theplatform layer 502 may also benefit from pre-existing software fromother components (e.g., if the distributor 103 uses a Scout ElectromediaModo motherboard, then some of the accompanying Scout software maypossibly also be used). Pre-existing APIs may be presented “as-is” tothe platform layer 502 and simply added to other interfaces required forcontrolling the distributor's hardware and communications mechanisms,according to an embodiment of the invention. Of course, an ordinaryartisan will recognize that a certain amount of testing andmodifications may be needed with any integration activity.

In addition, the system layer 503 may include the communications stacks515 associated with physical devices, such as the network receiver 104and the transceiver system 105. For example, the system layer 503 mayprovide the network receiver communication stacks 516 for the networkreceiver 104 and the transceiver protocol stacks 506 for the transceiversystem 105. The system layer 503 may also provide a test function 517that supports both engineering and manufacturing test functions anddiagnostics.

The network receiver communication stacks 516 may be configured todirect the network receiver 104 to send and/or receive information overthe system communication network 111. The network receiver communicationstacks 516 may include functionality borrowed from pre-existing systems(e.g., the Flex communication stack). An ordinary artisan will recognizethat pre-existing communication stacks may sometimes not provide all thefunctionality needed for a given embodiment and pre-existingcommunications stacks may occasionally cease to be supported by theiroriginal manufacturer. Accordingly, an ordinary artisan will recognizethat some additional modifications may need to be made from time to timeto any re-used device or software (e.g., a communications stack).

The transceiver protocol stacks 506 may comprise one or morecommunication stacks that direct operation of the transceiver system 105in communicating with portable computing devices 107. According to someembodiments of the invention, the transceiver protocol stacks 506include a first communication stack associated with a conventionalcommunication protocol (e.g., IrDA and/or Bluetooth) and a secondcommunication stack associated with a data transfer communicationprotocol. According to some embodiments of the invention, a conventionalcommunication protocol may direct downloading the client 121 to portablecomputing devices 107 and/or other conventional communications betweenthe distributor 103 and portable computing devices 107. According tosome embodiments of the invention, a data transfer communicationprotocol may direct transfer of application(s) and/or data to portablecomputing devices 107 that have downloaded the client 121. Additionaldetails regarding specific embodiments of the transceiver protocolstacks 506 are described herein.

The system layer 503 may also include components such as a real-timeoperating system (“RTOS”) 519, a bootloader 520, and hardware drivers505. The distributor 103 may use any conventional RTOS. A pre-emptive,multi-tasking operating system may provide better performance than otherRTOS. For example; an embodiment of the distributor 103 may use theMicroC/Operating System II (“uC/OS II RTOS”), while other embodimentsmay use operating systems such as, for example, WinCE or Unix.

The bootloader 520 may be the first task run at power up. The bootloader520 may support any necessary hardware initializations and may passcontrol over to either the distributor's standard application (e.g., theasset server 408) or a test and diagnostics function (e.g., theadministration server 410). The bootloader's passage of control may bebased on the receipt of a specific command on the serial port in adefined timeframe after power up, according to an embodiment of theinvention. The distributor 103 may also be placed in the test anddiagnostics mode via a command once the distributor's standardapplication is running. The bootloader 520 may comprise pre-existingelectronics used in constructing the distributor 103, according to anembodiment of the invention. For example, the bootloader alreadyprogrammed into the Scout Modo electronics may be used to simplify theloading of new software into existing hardware, according to anembodiment of the invention.

The system layer 503 may also provide the hardware drivers 505 thatcontrol and communicate with the distributor's hardware. Depending onthe function, a System API may provide a direct interface to the drivers(e.g., for well defined or simple tasks) or an abstraction layer (e.g.,for more complex tasks such as timing dependent operations).

The system layer 503 may integrate the communications stacks used bydevices associated with the distributor 103. For example, in oneembodiment of the invention, the system layer 503 may integratecommunication stacks for the Flex paging network used by the networkreceiver 104 and the IR communication stack used by the transceiversystem 105. In a further embodiment, in which the Flex paging network isused for the network receiver 104, the Motorola® Dragonball FLEX R4.3communication stack may be integrated “as-is” into the system layer 503.Similarly, a further embodiment may use either the ESI or EmbedNETcommunication stacks as an IrDA communication stack for the transceiversystem 105. An ordinary artisan will recognize that other communicationstacks may be used or developed rather than, or in addition to, thecommunication stacks identified above. In addition, embodiments of theinvention using the data transfer communication protocol disclosedherein may also use an IR communication stack that supports the beacon,ACK, and broadcast protocol for extended IR range.

Distributor Memory Elements

The distributor 103 may have an internal RAM 412. While the RAM 412 mayconceivably be almost any size, a minimum of 256 kbytes may provideadequate performance for some embodiments of the invention. For example,local information broadcasts 118 to the portable computing devices 107may be constrained in size by a maximum time available for transmission.Thus, a maximum time available for transmitting over an IR link may beapproximately 50 kbytes for 5 seconds, according to an embodiment of theinvention. The RAM 412 having a 256 kbytes size may be adequate for thistask, although larger memories might provide better overall performance.The RAM 412 may support the run time needs of the distributor's software(e.g., the communication server 402), according to an embodiment of theinvention. In addition to providing run time memory, the RAM 412 mayprovide storage of application(s) and/or data to be broadcast to theportable computing devices 107 as well as storing the client 121. TheRAM 412 may comprise dynamic RAM (“DRAM”) or static RAM (“SRAM”),according to various embodiments of the invention.

Internal memory (e.g., the memory 405) may typically be required tostore the distributor's executable software, software for the portablecomputing device 107, and application(s) and/or data to be broadcast tothe portable computing device 107. While the memory 405 may be almostany size, a 2 Mbyte size may provide adequate performance for someembodiments. According to some embodiments of the invention, the memory405 may be a flash memory that may be used for storing executablesoftware to simplify the later addition of new or updated software forthe distributor 103.

Distributor Deployment Considerations

The distributor 103 may provide considerable ease of operation forassociated vendors. For example, the distributor 103 may generally be“zero deployment” in the sense that the distributor 103 may only requirea battery power source (which can be installed by the manufacturer inthe factory), and the distributor 103 need not necessarily include anyconfigurable elements (e.g., a power cord) that require attention by auser who installs the distributor 103. Installation may merely requiresome minor attention to the orientation of the transceiver system 105,which may be provided in the form of simple instructions.

The distributor's serial number (or other device identification) may beprovided by the distributor's manufacturer to the system operator (e.g.,an owner's agent) so that the operator may send a wakeup signal over awired or wireless network (e.g., the system communication network 111)to the distributor 103. The wakeup signal may be targeted for thedistributor 103 by incorporating the distributor's serial number. Inthis manner, the system operator need not take physical possession ofthe distributor 103 in order to attain its proper integration into thedistribution network 120. Thus, one party could manufacture thedistributor 103, and another party could install the distributor 103 ina given location for operation by yet another party.

In an embodiment of the invention, the distributors 103 may bemanufactured such that they receive a message from the systemcommunication network 111 (or a broadcast mimicking a transmission fromthe system communication network 111) that provides the distributor 103with its identification code. For example, if the network receiver 104comprises a pager receiver, then the broadcast could provide it with acapcode and an initial broadcast schedule. Having received its identityin the factory, the distributor 103 may simply wait until its deploymentbefore receiving regular broadcasts from the system communicationnetwork 111. Of course, the distributor 103 could possibly beginreceiving broadcasts immediately, such as when the distributor'soperator wants to provide the device with software not available at thefactory, e.g., updates or confidential, propriety software.

Portable Computing Device 107

FIG. 6 illustrates an embodiment of a portable computing device 107having the client 121 configured for communications with the distributor103, according to an embodiment of the invention. The client 121 assiststhe pre-existing hardware and software on the portable computing device107 in communicating with the distributor 103. The portable computingdevice 107 may require no physical modifications in order to communicatewith the distributor 103 once the portable computing device 107 has beenequipped with the client 121.

A typical portable computing device 107 may include the transceiver 106,a CPU 608, and a memory 607. According to some embodiments of theinvention, the memory 607 may include a nonvolatile memory. According tosome embodiments of the invention, the memory 607 may include a volatilememory and/or a combination of a volatile memory and a nonvolatilememory. Of course, the portable computing device 107 may also includeother hardware (e.g., a RAM) and software elements. The transceiver 106is typically configured for wireless communications according to a knownwireless communication protocol (e.g., IRDA communication protocol). Anordinary artisan will understand that the transceiver 106 may bereplaced with a transmitter and a receiver such that the portablecomputing device's communications will continue to operate in a similarmanner. Programs retained in the memory 607 may be processed by the CPU608.

The client 121 typically comprises a decoder 603 and a remoteapplication server (“RAS”) 602, according to an embodiment of theinvention. Applications 605 and data 606 typically comprise informationreceived from the distributor 103 via a broadcast 118. The RAS 602typically executes the applications 605 using the data 606 uponreceiving a program execution instruction (such as may be provided by auser of the portable computing device 107), according to an embodimentof the invention. The complete client 121 may be fairly lightweight andaround 100K in size, according to an embodiment of the invention.

While the portable computing device 107 may be any portable computingdevice, for at least one embodiment of the invention, the portablecomputing device 107 is a Palm Pilot, and the distribution network 120has been designed to operate in conjunction with the Palm operatingsystem (“Palm OS”). So in this embodiment, the distributor 103 isdesigned to provide the client 121 for operation on, or in conjunctionwith, a Palm operating system.

The distributor 103 may include functionality for determining what kindof an operating system resides on a given portable computing device 107,according to embodiments of the invention. The distributor 103 may readthe portable computing device's signature and then respond with an IrDAquery, e.g., “What are you?” According to some embodiments of theinvention, a distributor 103 determines the operating system of a givenportable computing device 107 from information incorporated in a beamresponse 126. Having determined the particular operating system, thedistributor 103 may select a client 121 appropriate for the operatingsystem and download the client 121 to the portable computing device 107.Another portable computing device identification method may comprisedeveloping the client 121 to operate on a preferred platform, such as aPalm proprietary system, and then providing some other functionality forbootstrapping the Palm implementation into other systems. Availableoperating systems may include the Palm operating system, pocket PC, andWinCE.

The decoder 603 may comprise components, such as (1) a data receptionmodule 604; (2) a packet re-assembly module 612; (3) and a packageinterpretation module 614 that interprets the overall package received.Like many other elements of the distribution network 120, embodiments ofthe decoder 603 may comprise software or circuitry, as well as hybridscomprising both software and circuitry. The decoder 603 directsoperations of the transceiver 106 in communicating with the distributor103.

The data reception module 604 may be configured to understand the datatransfer communication protocol(s) used by the distributor 103 inbroadcasting information to the portable computing device 107.Operations of the data reception module 604 with respect to datatransfer communication protocol(s) will be described further herein. Thedata reception module 604 may look for dropped packets and may wait fora re-broadcast in order to attain any dropped packets.

According to some embodiments of the invention, the data receptionmodule 604 may configure hardware and/or software of the portablecomputing device 107 to generate a signal with particular physicalcharacteristic(s), such as, for example, with a particular encodingscheme, a particular modulation scheme, and/or a particular informationtransmission rate. According to some embodiments of the invention, thedata reception module 604 configures the portable computing device 107to generate the ACK 114, 119 with physical characteristic(s) that enablethe transceiver system 105 of the distributor 103 to receive the ACK114, 119 at a greater distance from the portable computing device 107.The physical characteristic(s) of the ACK 114, 119 may differ fromphysical characteristic(s) of a signal generated in accordance with aconventional communication protocol (e.g., IrDA). According to someembodiments of the invention, the data reception module 604 mayconfigure the portable computing device 107 to generate an ACK 114, 119with physical characteristic(s) similar to that used in conventional IRremote controls, such as, for example, a conventional television remotecontrol. In particular, some embodiments of the data reception module604 may direct the transceiver 106 to transmit an ACK 114, 119 at atransmission rate of 1200 bps using a non-return-to-zero (“NRZ”)encoding scheme with a 37.5 kilohertz (“kHz”) amplitude-shift-keying(“ASK”) modulation scheme, wherein a 37.5 kHz IR tone is generated for abinary “0”, and an IR tone is not sent for a binary “1”.

As shown in FIG. 6, embodiments of the portable computing device 107 mayinclude a Universal Asynchronous Receiver/Transmitter (“DART”) 616. TheDART 616 may be incorporated in the CPU 608 or may be configured as aseparate device. According to some embodiments, the data receptionmodule 604 may configure the portable computing device 107 to transmit anon-IrDA type ACK 114, 119 by configuring the UART 616 and controllingthe CPU's UART TXD pin (not shown) directly. As one of ordinary skill inthe art will understand, the UART TXD pin in a conventional portablecomputing device 107 (e.g., a Palm Pilot) may be configured as a generalpurpose I/O pin or as an UART pin. According to one embodiment of theinvention, the UART baud rate is configured to 75,000 bps, and theUART's mode is changed from IrDA to NRZ (and the UART TXD pin polarityset appropriately). According to this embodiment of the invention, NRZis used because a resulting IR pulse shape is more appropriate for the37.5 kHz ASK modulation. In this embodiment, to transmit a binary “0”(with a 37.5 kHz IR tone), the UART 616 repeatedly sends a character0x55 to the transceiver 106 for the duration of a 1200 bps bit time. At75,000 bps, the character 0x55 will produce a 37.5 kHz IR tone. In thisembodiment, to transmit a binary “1” (no IR tone), the UART 616 stilltransmits characters (for timing purposes), but the UART TXD pin isconfigured as a general purpose I/O and is forced low (or high dependingon the detected hardware polarity) to force the transceiver 106 off. Itshould be recognized that other combinations of characters sent to thetransceiver 106 and UART baud rate may be selected to generate a 37.5kHz IR tone, according to some embodiments of the invention. Forexample, according to one embodiment of the invention, a 37.5 kHz IRtone is generated by configuring the UART baud rate to 150,000 bps andconfiguring the UART 616 to repeatedly send a character 0x33 to thetransceiver 106 for the duration of the ACK 114, 119 bit time (e.g., theduration of a 1200 bps bit time). Likewise, various combinations ofcharacter sent to the transceiver 106 and DART baud rate may be selectedto generate IR tones of different frequencies (e.g., frequenciesdifferent from 37.5 kHz).

It should be recognized that the data reception module 604 may configurethe portable computing device 107 to generate an ACK 114, 119 havingvarious physical characteristic(s) (e.g., characteristic(s) that allowfor an increased transmission range of the ACK 114, 119). Embodiments ofthe data reception module 604 may direct a portable computing device 107to generate signals with various physical characteristic(s) bycontrolling one or more of the following: (1) UART baud rate; (2) DARTmode (e.g., IrDA or NRZ); (3) DART TXD pin; (4) character(s) sent by theUART 616 to the transceiver 106; and (5) duration for which a givencharacter is sent by the UART 616 to the transceiver 106. For instance,one embodiment of the data reception module 604 may configure theportable computing device 107 to generate an ACK 114, 119 using afrequency-shift-keying (“FSK”) modulation scheme. In this embodiment,the UART 616 may repeatedly send a character (e.g., 0x55) to thetransceiver 106, and the UART baud rate may be varied for consecutiveACK 114, 119 bit times.

The packet re-assembly module 612 may reassemble the packets receivedaccording to the data transfer communication protocol and place theminto a meaningful data stream that can then be passed to other portionsof the client 121 and beyond. In an embodiment of the invention, thedistributor's data transfer communication protocol may operate with asingle broadcast payload per distribution with a plurality of packets.The packet re-assembly module 612 may reassemble packets that arereceived out of order, even when received across multiple broadcasts 118from the distributor 103. The number of packets received may bedetermined by a size of the overall broadcast payload, according to anembodiment of the invention.

Once a complete broadcast 118 has been received, the decoder 603 mayperform error correction before making the resulting information (e.g.,an application 605 and/or data 606) available to the remote applicationserver (“RAS”) 602. The distribution network 120 may use errorcorrecting codes in the manner known to ordinary artisans in therelevant field.

According to some embodiments of the invention, information received viaa broadcast 118 may comprise one or more of the following: a datarepository, a logic portion, and formatting information. The datarepository may include data (e.g., organized in the form of a StructuredQuery Language (“SQL”) table) that may be accessed by the RAS 602 togenerate content at the portable computing device 107. The logic portionmay include instructions that specify action(s) or processing to beundertaken in response to a user input. In particular, the logic portionincludes instructions that may be executed by the RAS 602 to produce asearch query of the data repository in accordance with a user input,according to an embodiment of the invention. The formatting informationmay specify presentation and/or layout of the content generated by theRAS 602, which content may be displayed to a user of the portablecomputing device 107. According to an embodiment of the invention,information downloaded by a portable computing device 107 may comprise aHTML file that includes an embedded programming code (e.g., a Java-basedscripting language code, a JavaScript code, or a Visual Basic Scriptcode). In this embodiment, the formatting information may comprise HTMLtags in the HTML file, and the logic portion may comprise the embeddedprogramming code. According to an embodiment of the invention, the logicportion may comprise one or more SQL queries corresponding to one ormore user inputs.

According to some embodiments of the invention, a RAS 602 processesinformation received via a broadcast 118 to generate content at theportable computing device 107. According to an embodiment of theinvention, the RAS 602 dynamically generates data-driven content at theportable computing device 107. FIG. 7A illustrates a RAS 602 accordingto an embodiment of the invention. As shown in FIG. 7A, the RAS 602 mayinclude a display module 713 (e.g., a HTML browser), a data repositorymanager module 715 (e.g., a SQL database manager), a query generatormodule 717 (e.g., a SQL query engine), and a content generator module719 (e.g., a JavaServer Page (“JSP”) template engine, a Common GatewayInterface (“CGI”) program, or an Active Server Page (“ASP”) engine).

FIG. 7B illustrates the processing 721 that may be performed by variousmodules of a RAS 602, according to an embodiment of the invention. Asshown in FIG. 7B, the RAS 602 receives information including a logicportion, a data repository, and formatting information (step 725). Theinformation may be received from a distributor 103 via a broadcast 118.The display module 713 may be used to forward a user input, such as, forexample, by using a conventional HTML form or a HTML file embedding aJava applet, to the query generator module 717. The query generatormodule 717 may facilitate creation of a search query (e.g., a SQL query)in accordance with the user input and in accordance with the logicportion (step 727). According to an embodiment of the invention, thequery generator module 717 may generate the search query based upon theuser input. According to some embodiments of the invention, the logicportion includes a plurality of search queries, and the query generatormodule 717 may select a search query from the plurality of searchqueries based upon the user input. The data repository manager module715 searches the data repository in accordance with the search query andretrieves a search result (step 729). The search result is forwarded tothe content generator module 719. The content generator module 719generates content in accordance with the search result and in accordancewith the formatting information (step 731). According to an embodimentof the invention, the content generator module 719 transforms the searchresult in accordance with the formatting information to produce thecontent (e.g., a formatted content). The display module 713 displays thecontent to a user of the portable computing device 107 (step 733).

FIG. 7C illustrates the RAS 602, according to another embodiment of theinvention. The RAS 602 provides an application layer on the client 121,according to an embodiment of the invention. The RAS 602 may render HTMLand then receive and process standard HTML commands using an HTMLbrowser 609. The RAS 602 may receive user inputs into a standard formand then pass the form into a script file associated with the HTML. Thismay generate an SQL query via a query engine 705 that causes a referenceto an SQL table that may then be retrieved by an SQL database manager703, according to an embodiment of the invention. The SQL databasemanager 703 may retrieve the appropriate results and provide them forsubsequent operations, including display to the user using the HTMLbrowser 609.

According to an embodiment of the invention, the RAS 602 may first passthe retrieved results to a results page prepared by a reducedinstruction JavaServer Page template engine (or “JSPlite templateengine”) 707, according to an embodiment of the invention. The JSPlitetemplate engine 707 may use a standard template format in preparingresults pages. In other words, a template may be created on the basis ofparticular results obtained from the SQL query rather than having beenpreviously prepared and stored. Thus, the RAS 602 may take data from aSQL table, format the data according to the SQL query, and then providean appropriate HTML page for display using the HTML browser 609. Thisapproach allows the user to conduct searches, mine data, and create newHTML pages on the fly on the portable computing device 107.

The JSPlite template engine 707 may perform SQL queries via the SQLdatabase manager 703. The JSPlite template engine 707 represents areduced Java virtual decoder. The JSPlite template engine 707 mayprovide a SQL browser that provides Java interpretation and a scriptinterpreter of the JAVA VM. The client 121 may include a complete Javavirtual decoder, according to an embodiment of the invention. Aspreviously discussed, embodiments of the JSPlite template engine 707represent a reduced embodiment of typical JSP functionality. While thespecific functionality retained may vary, the JSPlite template engine707 should generally retain JSP's ability to perform templateoperations. Of course, an ordinary artisan will recognize that programssimilar to JSP may be used in place of JSP in the JSPlite templateengine 707.

As shown in FIG. 7C, the RAS may include a personality database 711 anda transaction manager 709. The personality database 711 may retainsession information and/or any other information pertaining to a user ofthe portable computing device 107, according to an embodiment of theinvention. Information retained in the personality database 711 may beused, for example, to prepare a personalized results page and/or torestore settings on the HTML browser 609 in accordance with a user'spreferences or past use. Also, information retained in the personalitydatabase 711 may be utilized beyond the client 121, such as, for use bya conventional application in the portable computing device 107. As afurther example, session information retained in the personalitydatabase 711 may include transaction(s) and/or user modification(s) todownloaded information that may used for information synchronizationdescribed as follows.

The transaction manager 709 may direct the synchronization ofinformation, according to some embodiments of the invention. Accordingto an embodiment of the invention, the transaction manager 709 maysynchronize information in one or more of the following situations: (1)information stored in a data repository (e.g., the information database211 of the information provider system 101) is downloaded by a user ofthe portable computing device 107 and is altered and/or manipulated bythe user; and (2) information stored in a data repository is downloadedby the user, and the information is altered in the data repositoryduring a period of disconnection between the portable computing device107 and the original data source. In one or both of these twosituations, the transaction manager 709 may synchronize information byreconciling differences, if any, between information stored in the datarepository and information stored in the portable computing device 107.As previously described, the transaction manager 709 may referencesession information retained in the personality database 711.Alternatively or in conjunction, the transaction manager may referenceinformation stored elsewhere in the portable computing device 107 (e.g.,the memory 607) and/or in the data repository. The transaction manager709 may synchronize information via the distributor 103. According to anembodiment of the invention, the transaction manager 709 may synchronizeinformation via a distributor 103 having a back channel to communicatewith the data repository (e.g., via the system communication network111). Alternatively or in conjunction, the transaction manager 709 maysynchronize information via any device that may provide a link to thedata repository of interest. For instance, the transaction manager 709may synchronize information retained in a memory of a databaseassociated with a website (via a conventional personal computer) withthe corresponding information retained in the portable computing device107. In other words, a user of a portable computing device 107 couldobtain information from a distributor 103, use and manipulate theinformation for a while, and then later electronically couple theportable computing device 107 to some sort of electronic network (e.g.,a personal computer connected to the Internet) and communicate with adatabase configured to retain the previously downloaded information andobtain updates to the information thereby.

In a sample baseball application, the client 121 may download one ormore packets as part of a complete broadcast 118 that when reassembledprovide a wealth of baseball statistics, including a scorecard anddigital baseball cards. The end user may then organize this informationthrough a number of queries that instigate SQL commands which then endup producing dynamic HTML pages. While production of dynamic HTML pagesmay be known, the production of such pages is typically performed on aserver computer that is electronically coupled to a client computer overan electronic network, rather than resident on the same computer, as isthe case with embodiments of the present invention. Of course, theinformation downloaded may also include supporting graphical objects(e.g., gif and .jpg formats) and/or sound objects and/or audio-visualobjects. In an embodiment of the invention, high-level software convertsthe .gif graphics files into rle bitmap format because it is generallyeasier to reproduce this format into the gif formats on the portablecomputing device 107 because portable computing devices 107 often havelimited CPU capacities.

The client 121 may be configured for auto configuration and/or autolaunch of the applications 605 received from the distributor 103. Thus,once the client 121 has been downloaded by the portable computing device107, the client 121 may automatically activate to receive a broadcast118 from the distributor 103. Alternatively or in conjunction, once theclient 121 has received a broadcast 118 from the distributor 103, theclient 121 may automatically transform the received broadcast 118 intoan application 605 capable of operation on the portable computing device107 and then launch the application 605 (e.g., for operation on the RAS602). The client 121 may also use a timing function with new broadcasts118 such that a new program may start running within a few seconds ofits download rather than immediately. Of course, users of the portablecomputing device 107 may be given the opportunity to reconfigure theclient 121 so that it does not automatically configure and launch newlyreceived broadcasts 118. However, since the distributor 103 may often bebroadcasting information of local interest to users of portablecomputing devices 107, the broadcast 118 may often be of an immediate oreven an urgent interest for the users associated with the portablecomputing devices 107.

Embodiments of the RAS 602 and associated applications 605 mayessentially provide a three-tiered Internet architecture in which theserver (e.g., the SQL database manager 703 and the JSPlite templateengine 707) and client (e.g., the HTML browser 609) both reside on thesame computing system (e.g., the portable computing device 107). Thiscomputing paradigm allows creators of information (e.g., applicationsand data) to produce information suitable for downloading to theportable computing devices 107 in the same, or similar paradigm (e.g.,manner), as they might use in producing an application for operation ina conventional three-tiered Internet architecture. The RAS 602 allowscode (e.g., the applications 605) and data (e.g., the data 606) toremain separated as they are in a typical three-tiered Internetarchitecture. In addition, users of the applications 605 performed bythe RAS 602 on portable computing devices 107 may interact with a userinterface in much the same manner that users of Internet-basedapplications interact with applications operating on a three-tieredInternet architecture. Moreover, according to embodiments of theinvention, applications 605 operating via the RAS 602 may continue totake advantage of the fairly well developed standards for Internetapplications, e.g., logic, layout, and data.

FIG. 8 illustrates a sample application and data 809 that may bereceived by the portable computing device 107 from the distributor 103,according to an embodiment of the invention. The application and data809 may comprise an application 605 and its paired data 606, as shown inFIG. 6. The application and data 809 may comprise a data repository 801,HTML code 803, and an SQL query list 805. As previously discussed,applications (e.g., the application 605) may be a template-basedapplication, according to an embodiment of the invention. Template-basedapplications typically have a similar format that may be customized bycompleting predefined fields and/or answering particular questions. Inessence, the template provides a framework that may be tailored forparticular applications.

The data repository 801 comprises the data that may be manipulated andpresented by an application in the application and data 809. The HTML803 comprises the HTML information associated with the application andmay indicate how particular data elements should be displayed by theHTML browser 609, as well as providing instructions for actions to betaken in response to user interactions with the application, accordingto an embodiment of the invention. The SQL query list 805 providesinstructions regarding how the data in the data repository 801 may beformatted into an SQL database for operation by the SQL database manager703. The SQL query list 805 further defines rules for retrieval of andinteractions between data in the data repository 801, according to anembodiment of the invention. The SQL query list 805 and the SQL databasemanager 703 may generally operate in the conventional manner for suchcomponents, although such components in a client-server system are nottypically located on the same computer, which is the case withembodiments of the present invention.

Network Receiver and Network Message Protocol

Individual distributors 103 may receive information broadcast via thesystem communication network 111, e.g., pages broadcast across a Flexpaging network. An embodiment of the distributor 103 may include thenetwork receiver 104 configured to receive communications from thesystem communication network 111. Specifically, an embodiment of thenetwork receiver 104 may be a Flex receiver that provides communicationswithin North American 900 MHz paging networks. The distributors 103 maybe customized, either individually or in groups, for specific customerssuch that the distributor 103 only needs to pay attention to specificbroadcasts (e.g., “Groupcasts.”). In a “Groupcast,” many distributors103 may receive identical transmissions. Thus, the “Groupcasts” mayeffectively provide broadcasts for specific customer groups.

According to an embodiment of the invention, schedules may be providedat the end of each Groupcast. In addition, schedules may be provided byspecial broadcast messages repeated regularly during the day. Thesebroadcasts may allow distributors 103 that have either lost theirschedules or have just been powered up to synchronize themselves withthe system communication network 111. Messages broadcast to thedistributors 103 may be preceded by one or more identification codesthat identifies which distributor(s) should receive the communicationfollowing the identification code(s). For example, if the systemcommunication network 111 is a Flex paging network, then eachdistributor 103 will typically have its own capcode (e.g., a pageraddress). Of course, the same capcode could be assigned to a group ofdistributors 103, such as a group of related distributors 103. In anyevent, information transmissions sent across the system communicationnetwork 111 may be preceded by identification codes indicating whichdistributor(s) 103 should receive the transmission. The administrationserver 410 may instruct the network receiver 104 to ignore a broadcastthat does not contain its identification code. Ignoring the subsequenttransmission may allow the distributor 103 to conserve and prolong thelife of the battery 411.

The distributor identification codes may be assigned in such a mannerthat a given distributor 103 may have more than one identification code.For example, a given distributor 103 may have an identification codethat corresponds to maintenance information applicable to severaldistributors 103; one or more identification codes pertaining to a givengroup of distributors 103 (e.g., all distributors 103 assigned toprovide information for a given advertiser or in a given location); andthen another identification code unique to the specific distributor 103itself. Alternatively, a distributor 103 may have only oneidentification code, and transmissions across the system communicationnetwork 111 may simply include the identification codes of alldistributors 103 that should receive the transmission, e.g., differentdistributors 103 have different listening schedules. Of course,embodiments of the invention may also comprise hybrids of theseapproaches as well.

Messages transmitted across the system communication network 111 maycomprise two general formats, according to an embodiment of theinvention. One message type may comprise generic scheduling messages,and another type of message may comprise information pertinent to alldistributors 103 or at least a relatively large group of distributors103. For example, the distributor 103 may be scheduled to wake up at aspecific time in order to receive scheduling instructions. Thus, thedistributor 103 may be scheduled to wake up every day at noon andmidnight to receive scheduling information regarding its nextinformation transmission. If a new customer desires to have a givendistributor 103 receive new information for redistribution to a portablecomputing device 107, then the scheduling transmission could tell thedistributor 103 when to wake up and receive the new information forsubsequent redistribution. Likewise, a scheduling transmission couldinform the distributor 103 when it would next receive informationrelated to its routine maintenance, e.g., an update for its systemsoftware, such as a new error correction mechanism. As previously noted,the distributor 103 generally needs to conserve the battery 411.Accordingly, many/most elements of the distributor 103 may be turned off(or be in, a powered down or sleep mode) when not transmittinginformation to and/or receiving a response from portable computingdevices 107 and when not receiving transmissions from the systemcommunication network 111. In addition, embodiments of the distributor103 may have a small case that may not allow for large-sized batteriesin the distributor's small case. Scheduling messages may consequentlysupport a battery conservation procedure, according to an embodiment ofthe invention.

Overlapping distributor schedules may also provide another mechanism fortransmitting similar or related information to a group of distributors103 and/or to all distributors 103. For example, a given distributor'sschedule could include three transmissions during a given day. Otherdistributors 103 may also be scheduled to receive one of thetransmissions, for example, while still other distributors 103 may alsobe scheduled to receive another one of the transmissions.

The distributor 103 may use the following procedure in receivingtransmissions from the system communication network 111, according to anembodiment of the invention. The distributor 103 is turned on at a giventime in accordance with a previously received scheduling transmissionand listens for its identification code (e.g., its capcode). Once thecommunication server 402 recognizes the identification code, then thenetwork receiver 104 receives the broadcast that includes theidentification code. The information transmitted to the distributor 103may be compressed before transmission. Accordingly, the communicationserver 402 may decompress the received transmissions. The communicationserver 402 may also perform various assembling, formatting, and/or errorchecking and correction steps on the received transmission. Thecommunication server 402 may then analyze the transmission to determineits type, e.g., is the transmission intended for rebroadcast to portablecomputing devices 107 or is the transmission intended for thedistributor 103 itself. If the transmission is intended for rebroadcast,then the communication server 402 may forward the transmission to theasset server 408 for storage in the data repository 409 for laterbroadcast to the portable computing devices 107. If the transmission isintended for the distributor 103, then the communication server 402 mayallow the administrative server 410 to process the transmittedinformation. To conserve network bandwidth, the communication server 402may support incremental information updates and multicast addressing.The system communication network 111 may send fully localizedinformation to a single distributor 103 or identical information to agroup of distributors 103 simultaneously.

The distributor 103 may store information transmitted through the systemcommunication network 111 locally for rebroadcast to portable computingdevices 107. The data repository 409 may be configured to retaininformation transmitted across the system communication network 111, aswell as information generated locally by operation of the distributor103 and information received from the portable computing devices 107.

Alternatively, the network receiver 104 and the communication server 402may be adapted for two-way communications, such as by using the Reflexprotocol provided by Motorola®. Of course, the network receiver 104 mayrequire some form of transmission capability in order to broadcastinformation back to the system communication network 111. Some two-wayprotocols, such as the Reflex protocol, may allow the distributor 103 tosend status and verification data back through the system communicationnetwork 111. This information may be subsequently used for performingmaintenance on the distributor 103 and/or rebroadcasting transmissionsnot acknowledged as properly received by the distributor 103. Thedistributor 103 may also be adapted for communications using a two-wayprotocol that supports continuous flows of information packets across anetwork, such as the system communication network 111. The GeneralPacket Radio Service (“GPRS”) is a representative continuous flowprotocol, although other protocols could also be used. An ordinaryartisan will recognize that the network receiver 104 may requiremodifications and/or updates to suit the particular communicationmechanism embodied in the system communication network 111.

The distributor's communications needs from the system communicationnetwork 111 may not necessarily be supported by all embodiments ofconventional systems. For example, if the system communication network111 comprises a paging network, then paging operators may encounter somedifficulties with functions such as multi-phase usage, binary messages,and large information transfers associated with a particular pagingnetwork embodiment. Accordingly, an ordinary artisan will recognize thatusage of these features may identify problems that will require remedialaction.

Communication Protocol between Distributor 103 and Portable ComputingDevices 107

FIG. 9 illustrates signals sent from a distributor (e.g., thedistributor 103) at various times, according to an embodiment of theinvention. By way of overview, an embodiment of the distributor 103 maysend two types of polling signals: a beacon (e.g., the beacon 112) and abeam interrogation (e.g., the beam interrogation 124). A beacon 112 is apolling signal that may be used to identify the presence of a portablecomputing device (e.g., the portable computing device 107) that is readyto receive an information transfer. Information to be transferred to aportable computing device 107 may include executable data (e.g., theapplications 605) to be executed in the portable computing device 107and/or non-executable data (e.g., the data 606) to be used duringexecution of an application in the portable computing device 107.According to an embodiment of the invention, a portable computing device107 that has not yet downloaded a client 121 may not respond to a beacon112.

In addition to sending one or more beacons 112, the transceiver system105 may also send one or more beam interrogations 124. A beaminterrogation 124 is a polling signal that may identify the presence ofa portable computing device 107 that is ready to download the client121. By downloading the client 121, the portable computing device 107may properly recognize and respond to a beacon 112 and proceed withreceiving information transfer from the distributor 103. In anembodiment of the invention, the client 121 may comprise softwareconfigured to recognize and respond to communications from thetransceiver system 105 and may not necessarily include a capability foroperating specialized programs (e.g., a data reception module 604 only).In another embodiment of the invention, a portable computing device 107may download the client 121 from another source (e.g., a source otherthan the distributor 103 such as the Internet), and a distributor 103may simply send beacons 112 at various times.

It should be recognized that the various signals shown in FIG. 9 areeach of finite time duration, and the times shown may be measured, forexample, from the start of transmission of the signals. As shown in FIG.9, the transceiver system 105 sends beacons 112 at times t₁, t₂, t₄, andt₅. As discussed previously, the transceiver system 105 sends a beacon112 to identify the presence of a portable computing device 107 that isready to receive an information transfer. A portable computing device107 that is ready to receive an information transfer may respond to abeacon 112 by sending an acknowledgment signal (“ACK”) 114. In anembodiment of the invention, a portable computing device 107 that doesnot yet include the client 121 may not recognize and, hence, may notrespond to a beacon 112. According to an embodiment of the invention,communication associated with information transfer, includingsending/receiving a beacon 112 and/or an ACK 114, occurs via a datatransfer communication protocol that may be incorporated in a datatransfer module (described herein) and the data reception module 604.The data transfer module and the data reception module 604 typicallycomplement one another and are respectively included in the distributor103 and the portable computing device 107.

In the embodiment shown in FIG. 9, the distributor 103 also sends beaminterrogations 124 interleaved among the various beacons 112, i.e., attimes t₃ and t₆. The transceiver system 105 sends the beaminterrogations 124 to identify the presence of a portable computingdevice 107 that is ready to download the client 121. A portablecomputing device 107 that is ready to download the client 121 mayrespond to a beam interrogation 124 by sending a conventional beamresponse 126. In an embodiment of the invention, communicationassociated with downloading of a client 121, including sending/receivinga beam interrogation 124 and/or a beam response 126, occurs via aconventional communication protocol that is included in the distributor103 and the portable computing device 107, and the portable computingdevice 107 may recognize and respond to a beam interrogation 124 withouthaving to first download a computer program and/or undergo hardwaremodifications.

According to some embodiments of the invention, an administration server(e.g., the administration server 410) directs when and/or whichcommunication protocol a distributor 103 should use in communicatingwith a portable computing device 107. In particular, the administrationserver 410 directs when and/or how often the transceiver system 105sends beacons 112 and/or beam interrogations 124. In an embodiment ofthe invention, one or more of the times shown in FIG. 9 may beautomatically adjusted depending on demand for information transferand/or demand for client 121 download. For instance, if the distributor103 does not receive a response to its beacons 112 and beaminterrogations 124 for a period of time, the administration server 410may direct the distributor 103 to reduce the frequency of signals sentfrom one every 2 seconds to one every 3 seconds. While FIG. 9 shows twobeacons 112 sent for every one beam interrogation 124 sent, it should berecognized that the relative frequency with which the transceiver system105 sends beacons 112 and beam interrogations 124 may be automaticallyadjusted depending on demand for information transfer and/or demand forclient 121 download. For instance, if there is a high demand forinformation transfer and a low demand for client 121 download, thedistributor 103 may send a beacon 112 at time t₃ instead of a beaminterrogation 124.

A consecutive time interval as shown in FIG. 9 will typically be longerif the transceiver system 105 receives a response (not shown in FIG. 9)to a beacon 112 or a beam interrogation 124. If a response is receivedafter a beacon 112 is sent, for example, at time t₁, the time intervalbefore another beacon 112 or beam interrogation 124 is sent should besufficient to allow the transceiver system 105 to transfer informationto a portable computing device 107 that sent the response. Also, if aresponse is received after a beam interrogation 124 is sent, forexample, at time t₃, the time interval before another beacon 112 or beaminterrogation 124 is sent should be sufficient to allow the distributor103 to transfer the client 121 to a portable computing device 107 thatsent the response. This latter situation is illustrated in FIG. 10.

As shown in FIG. 10, the distributor 103 sends a beam interrogation 124at time t₃ and receives a beam response 126 sent by a portable computingdevice 107 at time t₇. Subsequent to receiving the beam response 126 andwithin the time interval t₇ to t₈, the distributor 103 transfers theclient 121 to the portable computing device 107. In particular, thetransceiver system 105 may send a download signal 122 (not shown in FIG.10) that incorporates the client 121. As discussed previously,communication between the distributor 103 and the portable computingdevice 107 during the time interval t₃ to t₈ may be conducted inaccordance with a conventional communication protocol that is includedin the distributor 103 and the portable computing device 107 (e.g., theportable computing device's normal communication protocol for wirelesslysending and receiving information). For example, communication in thistime interval may be according to a conventional infrared (“IR”)communication protocol, such as, for example, an Infrared DataAssociation (“IrDA”) communication protocol. Once the portable computingdevice 107 has downloaded the client 121, which includes the datareception module 604, the portable computing device 107 may receiveinformation transfer from the distributor 103 via the data transfercommunication protocol.

FIGS. 11 and 12 illustrate an architecture comprising a communicationprotocol (e.g., a hybrid communication protocol) that directscommunication between a distributor (e.g., the distributor 103) and aportable computing device (e.g., the portable computing device 107),according to an embodiment of the invention. The communication protocolmay include rules and operating procedures that direct communicationbetween the distributor 103 and the portable computing device 107associated with client 121 downloading and information transfer. Thecommunication protocol may comprise two sub-protocols: a data transfercommunication protocol and a conventional communication protocol. Thecommunication protocol may be incorporated in the various modulesillustrated in FIGS. 11 and 12.

As shown in FIG. 11, a data transfer module 1102 and a conventionalcommunication protocol module 1108 may be included in the transceiverprotocol stacks 506 of the distributor 103, according to an embodimentof the invention. With reference to FIG. 12, the data reception module604 may be included in the decoder 603, which in turn may be included inthe client 121 downloaded by the portable computing device 107,according to an embodiment of the invention. With reference to FIG. 12,a conventional communication protocol module 1208 may includepre-existing software included in the memory 607 and/or pre-existinghardware of the portable computing device 107, according to anembodiment of the invention.

As discussed previously, communication associated with informationtransfer occurs via the data transfer communication protocol, accordingto an embodiment of the invention. The data transfer communicationprotocol may include rules and operating procedures that directcommunication between the distributor 103 and the portable computingdevice 107 associated with information transfer. The data transfercommunication protocol may be incorporated in the data transfer module1102 and the data reception module 604. The data transfer module 1102and the data reception module 604 typically complement each other andare respectively included in the distributor 103 and the portablecomputing device 107. As shown in FIGS. 11 and 12, the data transfermodule 1102 and the data reception module 604 include a data transfertransport layer 1104 and a data reception transport layer 1204,respectively. These two transport layers 1104, 1204 specify rules thatenable the distributor 103 to detect the presence of the portablecomputing device 107 that is ready to receive an information transferand that directs the subsequent information transfer from thedistributor 103 to the portable computing device 107. In addition, thesetwo transport layers 1104, 1204 may specify the structure, content,and/or duration of frames or packets of information incorporated insignals sent and/or received during information transfer. Additionally,the data transfer module 1102 and the data reception module 604 mayinclude a data transfer physical layer 1106 and a data receptionphysical layer 1206, respectively. These two physical layers 1106, 1206specify physical characteristics of signals sent and/or received duringinformation transfer, which physical characteristics include, forexample, modulation/demodulation scheme, encoding/decoding scheme,information transmission/receiving rates, and/or signal power level. Itshould be recognized that one or both physical layers 1106, 1206 may beat least partly implemented by hardware, such as, for example, by amodulator/demodulator, an encoder/decoder, and/or a transceiver (e.g.,the transceiver system 105).

In an embodiment of the invention, downloading of the client 121 by theportable computing device 107 may occur via the conventionalcommunication protocol. The conventional communication protocol isincorporated in the conventional communication protocol modules 1108,1208 shown in FIGS. 11 and 12. The conventional communication protocolmay include rules and operating procedures that direct communicationbetween the distributor 103 and the portable computing device 107 duringclient 121 download. As shown in FIGS. 11 and 12, the conventionalcommunication protocol modules 1108, 1208 each include a conventionalcommunication protocol physical layer 1110, 1210. These two physicallayers 1110, 1210 specify physical characteristics of signals sentand/or received during downloading of the client 121, which physicalcharacteristics include, for example, modulation/demodulation scheme,encoding/decoding scheme, information transmission/receiving rates,and/or signal power level. As an ordinary artisan will understand, theconventional communication protocol modules 1108, 1208 typically includeone or more additional layers (not shown in FIGS. 11 and 12), such as,for example, a link layer or a transport layer. Also, one of ordinaryskill in the art will understand that one or both physical layers 1110,1210 may be at least partly implemented by hardware, such as, forexample, by a modulator/demodulator, an encoder/decoder, and/or atransceiver 106. In addition, it should be recognized that theconventional communication protocol may also direct conventionalcommunication between the portable computing device 107 and any otherdevice that includes a conventional communication protocol module 1108,1208.

With reference to FIGS. 11 and 12, the data transfer physical layer 1106(and data reception physical layer 1206) and the conventionalcommunication protocol physical layer 1110, 1210 typically may specifyone or more different physical characteristics for signals sent and/orreceived. For instance, a portable computing device 107 may send a beamresponse 126 using a first modulation/encoding scheme specified by theconventional communication protocol physical layer 1210 and may send anACK 114, 119 using a second modulation/encoding scheme specified by thedata reception physical layer 1206. In this example, the distributor 103may receive and process the beam response 126 using a firstdemodulation/decoding scheme (that is complementary to the firstmodulation/encoding scheme) specified by the conventional communicationprotocol physical layer 1110 and may receive and process the ACK 114,119 using a second demodulation/decoding scheme (that is complementaryto the second modulation/encoding scheme) specified by the data transferphysical layer 1106.

According to an embodiment of the invention, the physicalcharacteristics of a signal sent and/or received during informationtransfer are at least partly specified and/or implemented by theconventional communication protocol module physical layer 1110, 1210.For instance, the transceiver system 105 may send a beacon 112 and/or abroadcast 118 with encoding, modulation, and transmission ratecharacteristics specified by the conventional communication protocolphysical layer 1110 but with a boosted base signal power level specifiedby the data transfer physical layer 1106. In this embodiment, the datatransfer communication protocol is at least partly incorporated in theconventional communication protocol physical layers 1110, 1210 shown inFIGS. 11 and 12.

It should be recognized that the distributor 103 and/or the portablecomputing device 107 need not include two sets of communication hardwarecorresponding to the two physical layers shown in FIG. 11 and/or FIG.12. In particular, a single communication hardware may be configured byexecutable instructions to transmit and/or receive signals with physicalcharacteristics specified by the two physical layers.

FIGS. 13 and 14 illustrate a communication protocol (e.g., a hybridcommunication protocol) that directs communication between a distributor103 and a portable computing device 107, according to an alternateembodiment of the invention. The communication protocol in thisalternate embodiment may also include two sub-protocols: a data transfercommunication protocol and a conventional communication protocol.According to some embodiments of the invention, the conventionalcommunication protocol may be a conventional RF communication protocol(e.g., Bluetooth). As illustrated in FIGS. 13 and 14, a data transfermodule 1302 and a data reception module 1402 do not include a respectivephysical layer. In this alternate embodiment, the physicalcharacteristics of signals sent and/or received during both informationtransfer and client download are governed by a conventionalcommunication protocol physical layer 1110, 1210.

The invention is further explained with reference to FIG. 15. FIG. 15illustrates a flow diagram 1500 of steps that may be executed by adistributor 103 in accordance with a data transfer transport layer 1104,according to an embodiment of the invention. By way of overview, thedata transfer transport layer 1104 specifies how the distributor 103determines the presence of a portable computing device 107 that is readyto receive an information transfer and how the distributor 103subsequently transfers information to the portable computing device 107.In an embodiment of the invention, a distributor 103 performs one ofmore cycles of the steps shown in FIG. 15 before directing a transceiversystem 105 to send a beam interrogation 124.

With reference to FIG. 15, the distributor 103 sends a beacon 112 (step1501) to which a portable computing device 107 in the vicinity of thedistributor 103 may respond with the acknowledgment signal (“ACK”) 114.The distributor 103 determines whether an ACK 114 has been received fromthe portable computing device 107 (step 1502). Reception of the ACK 114indicates that the portable computing device 107 is within range of thedistributor 103 and is ready to receive an information transfer.Otherwise, if an ACK 114 is not received in accordance with step 1502,the distributor 103 sleeps for a period of time (step 1503) beforesending another beacon 112 (step 1501). In an embodiment of theinvention in which the distributor 103 is a wireless, battery-powereddevice, inclusion of this sleep period enables the distributor 103 toconserve its battery power. During the sleep period, the distributor 103may inactivate at least a portion of the transceiver system 105associated with information transfer, according to some embodiments ofthe invention.

In an embodiment of the invention, the sleep period is a. predeterminedperiod of time, such as, for example, 2 seconds. In an alternateembodiment of the invention, the sleep period is variable in accordancewith the frequency with which ACKs 114 are received from one or moreportable computing devices 107. An algorithm may be provided in the datatransfer transport layer 1104 that automatically adjusts the sleepperiod in accordance with demand for information transfer from thedistributor 103. For example, an embodiment of the invention maylengthen the sleep period when the demand is low and/or shorten thesleep period when the demand is high.

If an ACK 114 is received in accordance with step 1502, the distributor103 instructs the transceiver system 105 to send a broadcast 118 thatincludes application(s) and/or data to be transferred to the portablecomputing device 107 (step 1504). If the broadcast 118 is properlyreceived, the portable computing device 107 responds with an ACK 119,which may be detected by the transceiver system 105 in step 1505.Following detection of the ACK 119 in step 1505, the distributor 103sleeps for the sleep period discussed above (step 1503) before sendinganother beacon 112 (step 1501). According to some embodiments of theinvention, a sleep period following detection of an ACK 119 in step 1505may be different from a sleep period when an ACK 114 is not receivedaccording to step 1502.

Otherwise, if an ACK 119 is not received in step 1505 following abroadcast 118, the distributor 103 may instruct the transceiver system105 to resend one or more additional broadcasts 118. In an embodiment ofthe invention, the distributor 103 determines whether two broadcasts 118have already been sent (step 1506). If one broadcast 118 has been sent,the distributor 103 will resend the broadcast 118 a second time.Following this second broadcast 118, the distributor 103 may determinewhether an ACK 119 is received for logging purposes (step 1505). Inaccordance with an alternate embodiment of the invention, thedistributor 103 may skip step 1505 following a second broadcast 118 andproceed directly to sleep according to step 1503. If two broadcasts 118have already been sent, the distributor 103 in accordance with anembodiment of the invention will not resend an additional broadcast 118and will sleep for the sleep period (step 1503) before sending anotherbeacon 112 (step 1501). It should be recognized that a portablecomputing device 107 may send an ACK 114 in response to this beacon 112to prompt another broadcast 118 from the distributor 103. Also,according to some embodiments of the invention, a sleep period followinga second broadcast 118 may be different from a sleep period followingdetection of an ACK 119 in step 1505 and/or a sleep period when an ACK114 is not received according to step 1502.

In an embodiment of the invention in which the distributor 107 is awireless, battery-powered device, limiting the number of times thetransceiver system 105 resends a broadcast 118 in response to a singleACK 114 enables the distributor 103 to conserve its battery power.Specifically, an ACK 119 may not be received following an initial orlater broadcast 118 for a variety of reasons. For example, an obstaclemay be located between the distributor 103 and the portable computingdevice 107 that interferes with reception of the broadcast 118 and/orACK 119. As another example, a user of the portable computing device 107may have decided to abort the information transfer before a completebroadcast 118 has been received and/or before an ACK 119 may be sent bythe portable computing device 107. In either of these two examplesituations, resending further broadcasts 118 would be futile, andlimiting the number of additional broadcasts 118 helps conserve thedistributor's battery power.

FIGS. 16-19 illustrate the timing specified by a data transfer transportlayer (e.g., the data transfer transport layer 1104) in accordance withan embodiment of the invention. The shaded portions shown in FIGS. 16-19correspond to time intervals during which the distributor's transceiversystem 105 is activated to either send or receive a signal to or from aportable computing device 107. In an embodiment of the invention inwhich the distributor 103 is a wireless, battery-powered device, thetime intervals of the shaded portions may be selected to be as small aspracticable to conserve battery power. It should be recognized that thetime intervals of the shaded portions should be sufficient to properlysend and receive signals to and from a portable computing device 107.According to an embodiment of the invention, the transceiver system 105may be switched into a sleep or power down mode in one or more of theunshaded portions shown in FIGS. 16-19.

FIG. 16 illustrates the timing specified by the data transfer transportlayer 1104 in a situation where the distributor 103 sends a beacon 112but does not receive an ACK 114 in response thereto. As shown in FIG.16, the distributor 103 sends a beacon 112 of duration T_(B), duringwhich time the distributor's transceiver system 105 is activated to sendthe beacon 112. Following the time interval T_(B), the distributor 103may inactivate the transceiver system 105 for a time interval T_(BA).The time interval T_(BA) may account for a response or lag time of theportable computing device 107 after it receives the beacon 112 andprepares to transmit an ACK 114 in response to the beacon 112 and/or isnot otherwise ready to begin sending an ACK 114 in response to thebeacon 112, according to an embodiment of the invention. Alternativelyor in conjunction, the time interval T_(BA) may account for a responseor lag time of the distributor 103, according to an embodiment of theinvention. The distributor 103 may inactivate the transceiver system 105during the time interval T_(BA) to conserve power in some embodiments ofthe invention, particularly in embodiments in which the distributor 103is a wireless, battery-powered device.

Following the time interval T_(BA), the distributor 103 activates thetransceiver system 105. In particular, the transceiver system 105 isactivated for a time interval T_(ACKR) to be ready to receive at least aportion of an ACK 114 in response to the beacon 1112. In the exampleillustrated in FIG. 16, an ACK 114 is not received, and the distributor103 inactivates the transceiver system 105 for a sleep period T_(s)after the time interval T_(ACKR). According to an embodiment of theinvention, the sleep period T_(s) may typically be around 1 s. Followingthe sleep period T_(s), the transceiver system 105 is again activated tosend another beacon 112 of duration T_(B).

FIG. 17 illustrates the timing specified by the data transfer transportlayer 1104 in a situation where the distributor 103 sends a beacon 112and receives an ACK 114 in response thereto. As discussed in connectionwith FIG. 16, the distributor 103 sends a beacon 112 of duration T_(B)inactivates the transceiver system 105 for a time interval T_(BA), andsubsequently activates the transceiver system 105 to receive at least aportion of an ACK 114 for a time interval T_(ACKR). As shown in FIG. 17,the distributor 103 receives a portion of an ACK 114 during the timeinterval T_(ACKR). In the situation illustrated in FIG. 17, thetransceiver system 105 is activated for an additional time intervalT_(ACKRC) to receive a remaining portion of the ACK 114. It should berecognized that an ACK 114 may be completely received within the timeinterval T_(ACKR), and the additional time interval T_(ACKRC) would notbe needed. The time interval T_(ACKRC) may be selected to ensure that aremaining portion of an ACK 114 is received while reducing the amount oftime the transceiver system 105 is activated to conserve thedistributor's power, according to some embodiments of the invention.According to an embodiment of the invention, the time interval T_(ACKRC)may have a typical value of 50 ms.

Following reception of the ACK 114, the distributor 103 inactivates thetransceiver system 105 for a time interval T_(ABR) before a broadcast118 is sent. The time interval T_(ABR) may account for a response or lagtime of the portable computing device 107 after it sends an ACK 114 andprepares to receive a broadcast 118 and/or is not otherwise ready tobegin receiving the broadcast 118, according to an embodiment of theinvention. Alternatively or in conjunction, the time interval T_(ABR)may account for a response or lag time of the distributor 103, accordingto an embodiment of the invention. The transceiver system 105 isinactive during the time interval T_(ABR) to conserve power in someembodiments of the invention, especially in embodiments in which thedistributor 103 is a wireless, battery-powered device.

Following the time interval T_(ABR), the distributor 103 activates thetransceiver system 105 to send a broadcast 118 of duration T_(BR). In anembodiment of the invention, the time interval T_(BR) depends on theamount of information to be transferred to the portable computing device107.

FIG. 18 illustrates the timing specified by the data transfer transportlayer 1104 in a situation where the distributor 103 sends an initialbroadcast 118 and does not receive an ACK 119 in response thereto. Asshown in FIG. 18, the distributor 103 sends a broadcast 118 andinactivates the transceiver system 105 for a time interval T_(ARA). Thetime interval T_(BRA) may account for a response or lag time of theportable computing device 107 after it receives a broadcast 118 andprepares to transmit an ACK 119 in response to the broadcast 118 and/oris not otherwise ready to begin sending the ACK 119 in response to thebroadcast 118, according to an embodiment of the invention.Alternatively or in conjunction, the time interval T_(BRA) may accountfor a response or lag time of the distributor 103, according to anembodiment of the invention. The transceiver system 105 is inactiveduring the time interval T_(BRA) to conserve power in some embodimentsof the invention, especially those embodiments in which the distributor103 is a wireless, battery-powered device.

Following the time interval T_(BRA), the transceiver system 105 isactivated for a time interval T_(ACKR) to be ready to receive at least aportion of an ACK 119 in response to the broadcast 118. In the situationillustrated in FIG. 18, an ACK 119 is not received, and the distributor103 inactivates the transceiver system 105 for the time interval TABRdiscussed previously in connection with FIG. 17.

Following the time interval T_(ABR), the transceiver system 105 isactivated to resend a second broadcast 118 of duration T_(BR).Subsequently, the transceiver system 105 is inactivated for the timeinterval T_(BRA) before being activated again to be ready to receive atleast a portion of an ACK 119 in response to the second broadcast 118.

FIG. 19 illustrates the timing specified by the data transfer transportlayer 1104 in a situation where the distributor 103 sends an initialbroadcast 118 and receives an ACK 119 in response thereto. As discussedin connection with FIG. 18, the distributor 103 sends a broadcast 118,inactivates the transceiver system 105 for the time interval T_(BRA),and later activates the transceiver system 105 to receive at least aportion of an ACK 119 for the time interval T_(ACKR). As shown in FIG.19, the distributor 103 receives a portion of an ACK 119 during the timeinterval T_(ACKR). In the situation illustrated in FIG. 19, thetransceiver system is activated for an additional time intervalT_(ACKRC) to receive a remaining portion of the ACK 119. As discussedpreviously, an ACK 119 may be completely received within the timeinterval T_(ACKR), and the additional time interval T_(ACKRC) would notbe needed. The time interval T_(ACKRC) may be selected to ensure that aremaining portion of an ACK 119 is received while reducing the amount oftime the transceiver system 105 is activated to conserve thedistributor's power, according to some embodiments of the invention.According to an embodiment of the invention, the time interval T_(ACKRC)may have a typical value of 50 ms.

Following reception of the ACK 119, the transceiver system 105 isinactivated for the sleep period T_(s), after which the transceiversystem 105 is again activated to send another beacon 112 of durationT_(B).

Table 1 below indicates the various time intervals specified by a datatransfer transport layer 1104 in accordance with an embodiment of theinvention.

TABLE 1 Time Recommended Lower Recommended Upper Interval Limit LimitT_(B)  0 (no signal)  1 ms T_(BA)  0  1 ms T_(ACKR) 110 ms 105 msT_(ACKRC)  0 determined by duration of ACK T_(ABR)  50 ms 100 ms T_(BRA) 0  1 ms T_(S)  0  2 s

FIG. 20 illustrates a flow diagram 2000 of steps that may be executed bya portable computing device 107 in accordance with a data receptiontransport layer (e.g., the data reception transport layer 1204 shown inFIG. 12), according to an embodiment of the invention. By way ofoverview, the data reception transport layer 1204 specifies how theportable computing device 107 indicates its presence and/or itsreadiness to receive an information transfer and how the portablecomputing device 107 receives the information transfer from adistributor 103.

Specifically, the portable computing device 107 receives an incomingsignal (step 2001) and evaluates the incoming signal to determine itssignal type (step 2002). If the incoming signal is determined to benoise in step 2002, the portable computing device 107 proceeds back tostep 2001.

On the other hand, if the incoming signal is determined to be a beacon112, the portable computing device 107 determines whether it shouldreceive a broadcast 118 (step 2003). In an embodiment of the invention,the determining step 2003 is performed in accordance with informationincorporated in the beacon 112. For instance, the beacon 112 mayidentify a broadcast 118 and/or include a timestamp for the broadcast118, and the portable computing device 107 evaluates the beacon 112 todetermine whether it has already received the broadcast 118.

If a broadcast 118 should not be received, the portable computing device107 may proceed back to step 2001, according to some embodiments of theinvention. Otherwise, if a broadcast 118 should be received, theportable computing device 107 determines whether it has already sent anACK 114 in response to a prior beacon 112 (step 2004). If no, theportable computing device 107 responds to the beacon 112 by sending anACK 114 to prompt a broadcast 118 by the distributor 103 (step 2005).

If a broadcast 118 should be received and an ACK 114 has already beensent in response to a prior beacon 112, the portable computing device107 determines whether another ACK 114 should be sent in accordance witha back-off algorithm (step 2006). The back-off algorithm is intended todeal with a situation where a plurality of portable computing devices107 receive a first beacon 112 from a distributor 107, and the plurality(or a subset thereof) of portable computing devices 107 acknowledge thefirst beacon 112 with ACKs 114. The ACKs 114 from the portable computingdevices 107 may interfere with each other, and the distributor 103 maynot properly receive an ACK 114 from any one of the portable computingdevices 107. Since a proper ACK 114 is not received, the distributor 103will sleep for a sleep period before sending a second beacon 112.

In an embodiment of the invention, the back-off algorithm specifies thata portable computing device 107 will send an ACK 114 in response to thesecond beacon 112 with an independent probability of less than 100%,such as, for example, 50%. For example, if a first and a second portablecomputing devices 107 each send an ACK 114 in response to a first beacon112 and no broadcast 118 is received, each of the first and secondportable computing devices 107 will send another ACK 114 is response tothe second beacon 112 with an independent probability of 50%. In thisexample, there is a ’ 50% probability that only one of the two portablecomputing devices 107 will send an ACK 114, which ACK 114 will prompt abroadcast 118 if received by the distributor 103. There is a 25%probability that neither of the portable computing devices 107 will sendan ACK 114, and there is a 25% probability that both portable computingdevices 107 will send ACKs 114. In these two latter situations, thedistributor 107 may not receive a proper ACK 114 and will sleep for asleep period before sending a third beacon 112. In an embodiment of theinvention, the back-off algorithm may specify that a portable computingdevice 107 will send an ACK 114 in response to the third beacon 112 withan independent probability of less than 100%, such as, for example, 30%.In an embodiment of the invention, the independent probability for athird attempt (e.g., 30%) is selected to be a smaller probability thanthe independent probability for a second attempt (e.g., 50%).Alternatively or in conjunction, an error message may be generated inresponse to receiving the third beacon 112, and the back-off algorithmmay be reset so that a portable computing device 107 will send an ACK114 with a 100% probability in response to a fourth beacon 112.

As shown in FIG. 20, the portable computing device 107 may determinethat an incoming signal is a broadcast 118 (step 2002). The portablecomputing device 107 may have sent an ACK 114 that prompted thebroadcast 118. Alternatively, another (nearby) portable computing device107 may have sent an ACK 114 that prompted the broadcast 118. In eitherevent, the portable computing device 107 receives the broadcast 118 anddetermines whether the broadcast 118 is free of errors (step 2007). Ifan error is detected, the portable computing device 107 will not send anACK 119 and will return to step 2001 to attempt to receive an error freebroadcast 118. Alternatively or in conjunction with step 2007, theportable computing device 107 may determine whether it has received acomplete broadcast 118. In some embodiments of the invention, a portablecomputing device 107 determines whether a complete broadcast 118 hasbeen received from information incorporated in the broadcast 118. Forexample, a broadcast 118 may indicate a size of the broadcast 118. If acomplete broadcast 118 has not been received, the portable computingdevice 107 will not send an ACK 119 and will return to step 2001 toattempt to receive a complete broadcast 118 or a portion of the completebroadcast 118 that has not yet been received.

On the other hand, if no error is detected in the broadcast 118 and/or acomplete broadcast 118 has been received, the portable computing device107 determines whether it sent an ACK 114 that prompted the broadcast118 (2008). If so, the portable computing device 107 will acknowledgereceipt of the error-free (and/or complete) broadcast 118 by sending anACK 119 to the distributor 103 (step 2009). According to someembodiments of the invention, the portable computing device 107 mayproceed back to step 2001 after sending the ACK 119. If the portablecomputing device 107 did not prompt the broadcast 118, it will not sendan ACK 119 and may proceed back to step 2001, according to someembodiments of the invention. In this latter situation, a secondportable computing device 107 may have sent an ACK 114 that prompted thebroadcast 118, and the second portable computing device 107 will send anACK 119 following reception of an error-free (and/or complete) broadcast118. It should be recognized that inclusion of step 2008 reduces thepossibility of multiple portable computing devices 107 responding to abroadcast 118 by sending multiple ACKs 119 that may interfere with oneanother. This in turn enhances the possibility that the distributor 103will receive a proper ACK 119 following a broadcast 118, so that thedistributor 103 will not be triggered into resending an additionalbroadcast 118.

In some alternate embodiments of the invention, a portable computingdevice 107 may send more than one type of acknowledgement signal. In onealternate embodiment of the invention, a portable computing device 107may send a beacon-ACK to respond to a beacon 112 (e.g., at step 2005)and may send a broadcast-ACK to respond to a broadcast 118 (e.g., atstep 2009). In other alternate embodiments, a portable computing device107 may send a variety of acknowledgement signals, such as an ACK, apartial ACK, and/or a NACK (i.e., no acknowledgement) signal. Thepartial ACK may, for example, acknowledge that the portable computingdevice 107 has received a portion of a broadcast 118 from thedistributor 103. The partial ACK may save the distributor 103 fromhaving to transmit all of a given broadcast 118 again, which mayaccordingly reduce the consumption of power from the distributor'sbattery 411. The NACK signal could be used to inform the distributor 103that the portable computing device 107 has not received an expectedbroadcast 118 from the distributor 103 and that the entire broadcast 118should be repeated. It should be recognized that a back-off algorithmmay be implemented in conjunction with sending a NACK (and/or a partialACK) to reduce the probability of multiple NACKs (and/or partial ACKs)being sent by multiple portable computing devices 107. In addition, itshould be recognized that a multiplicity of types of acknowledgementsignals may provide a mechanism for informing the distributor 103 thatenvironmental conditions for broadcast 118 transmissions havedeteriorated, that the transceiver system 105 is not operating properly,and/or that the transmission mechanisms (e.g., the transceiver 106) onone or more portable computing devices 107 are not operating properly.Once informed of an anomalous condition, the distributor 103 may attempta number of remedial actions.

FIGS. 21 and 22 illustrate the timing specified by a data receptiontransport layer (e.g., the data reception transport layer 1204) inaccordance with an embodiment of the invention. The shaded portionsshown in FIGS. 21 and 22 correspond to time intervals during which thetransceiver 106 of the portable computing device 107 is active and iseither sending or receiving a signal to or from the distributor 103. Inan embodiment of the invention, the transceiver 106 of the portablecomputing device 103 is also active in one or more of the unshadedportions shown in FIGS. 21 and 22.

FIG. 21 shows the timing specified by the data reception transport layer1204 in a situation where the transceiver 106 of the portable computingdevice 107 receives a beacon 112 and sends an ACK 114 in responsethereto. As shown in FIG. 21, the portable computing device 107 receivesa beacon 112 of duration T_(B). Following reception of the beacon 112,there is a response or lag time T_(HBA) before the portable computingdevice 107 sends an ACK 114 in response to the beacon 112. During thetime interval T_(HBA), the portable computing device 107 may perform oneor more the following steps: determine that an incoming signal is abeacon 112; determine whether to send an ACK 114 in response to thebeacon 112; and instruct hardware (e.g., the transceiver 106) to sendthe ACK 114. Following the time interval T_(HBA), the portable computingdevice 107 sends the ACK 114 of duration T_(HACKT). The time intervalT_(HACKT) may be selected to ensure that sufficient information isincorporated in an ACK 114 as, for example, discussed herein inconnection with FIG. 24 while reducing the amount of time thetransceiver system 105 is activated to conserve the distributor's power,according to some embodiments of the invention. According to anembodiment of the invention, the time interval T_(HACKT) may have atypical value of 100 ms.

FIG. 22 shows the timing specified by a data reception transport layer1204 in a situation where the transceiver 106 of the portable computingdevice 107 receives a broadcast 118 and sends an ACK 119 in responsethereto. As shown in FIG. 22, the portable computing device 107 receivesa broadcast 118 of duration T_(BR). Following reception of the broadcast118, there is a response or lag time T_(HBRA) before the portablecomputing device 107 sends an ACK 119 in response to the broadcast 118.During the time interval T_(HBRA), the portable computing device 107 mayperform one or more the following steps: determine that an incomingsignal is a broadcast 118; determine whether the broadcast 118 isreceived free of errors; determine whether a complete broadcast 118 hasbeen received; determine whether to send an ACK 119 in response to thebroadcast 118; and instruct hardware (e.g., the transceiver 106) to sendthe ACK 119. Following the time interval T_(HBRA), the portablecomputing device 107 sends the ACK 119 of duration T_(HACKT). The timeinterval T_(HACKT) may be selected to ensure that sufficient informationis incorporated in an ACK 119 as, for example, discussed herein inconnection with FIG. 24 while reducing the amount of time thetransceiver system 105 is activated to conserve the distributor's power,according to some embodiments of the invention. According to anembodiment of the invention, the time interval T_(HACKT) may have atypical value of 100 ms.

Table 2 below indicates the various time intervals specified by a datareception transport layer 1204 in accordance with an embodiment of theinvention.

TABLE 2 Time Recommended Lower Recommended Upper Interval Limit LimitT_(HBA) Portable computing 50 ms device's minimum response timeT_(HACKT) 0 (no signal) Determined by amount of information to beincorporated in ACK T_(HBRA) Portable computing 50 ms device's minimumresponse time

FIG. 23 illustrates a frame or packet of information 2302 that may beincorporated in a beacon 112, in accordance with an embodiment of theinvention. A data transfer transport layer (e.g., the data transfertransport layer 1104) may specify the content, structure, and/orduration of the beacon frame 2302. As shown in FIG. 23, the beacon frame2302 may include three portions: preamble 2304, data portion 2306, anderror detection data 2308. The preamble 2304 may include one or morebits that indicates a beginning of the beacon frame 2302 and/or providesa portable computing device 107 something to train on before receivingthe data portion 2306. According to an embodiment of the invention, thepreamble 2304 may include 6 sets of 8 bits, each set being bracketed bya start bit and a stop bit. The data portion 2306 may include a beaconID 2310 that allows a portable computing device 107 to identify andcharacterize a signal incorporating the beacon frame 2302 as a beacon112. While FIG. 23 shows the beacon ID 2310 included in the data portion2306, it should be recognized that the beacon ID 2310 may bealternatively included in the preamble 2304. The data portion 2306 mayalso include information such as, for example, a timestamp of abroadcast 118, so that a portable computing device 107 may determinewhether or not to prompt the broadcast 118. As shown in FIG. 23, thebeacon frame 2302 may also include error detection data 2308, such as,for example, a parity check code, a checksum, or a cyclic redundancycheck (“CRC”), that enables a portable computing device 107 to detecterrors. While FIG. 23 shows the error detection data 2308 included atthe end of the beacon frame 2302, it should be recognized that the errordetection data 2308 may be alternatively included in one or more placesin the preamble 2304 and/or data portion 2306.

FIG. 24 illustrates a frame or packet of information 2402 that may beincorporated in an ACK 114, 119, in accordance with an embodiment of theinvention. The content, structure, and/or duration of the ACK frame 2402may be specified by a data reception transport layer (e.g., the datareception transport layer 1204). As shown in FIG. 24, the ACK frame 2402may include three portions: preamble 2404, data portion 2406, and errordetection data 2408. The preamble 2404 may indicate a beginning of theACK frame 2402 and/or allows an automatic gain control (“AGC”) elementof the transceiver system 105 to correctly compensate for the ACK'ssignal power level. The data portion 2406 may include an ACK ID (notshown in FIG. 24) that allows the distributor 103 to identify a signalincorporating the ACK frame 2402 as an ACK 114, 119. It should berecognized that the ACK ID may be alternatively included in the preamble2404. Alternatively or in conjunction, the data portion 2406 may includeinformation that identifies the portable computing device 107, such as,for example, its serial number or other identifying indicia.Alternatively or in conjunction with either of the above, the dataportion 2406 may include information that identifies the portablecomputing device's capabilities, such as, for example, its platform type(e.g., Palm OS, WinCE, etc.), its model type, a version number, and/ortimestamp associated with a client 121 of the portable computing device107. According to an embodiment of the invention, the data portion 2406may include other information, such as, for example, information relatedto a request for an application and/or data stored in the memory 405 ofthe distributor 103. As shown in FIG. 24, the ACK frame 2402 may alsoinclude error detection data 2408, such as, for example, a parity checkcode, a checksum, or a cyclic redundancy check (“CRC”), that enables thedistributor 103 to detect errors. While FIG. 24 shows the errordetection data 2408 incorporated at the end of the ACK frame 2402, itshould be recognized that the error detection data 2408 may bealternatively incorporated in one or more places in the preamble 2404and/or data portion 2406.

FIG. 25 illustrates a frame or packet of information 2502 that may beincorporated in a broadcast 118, in accordance with an embodiment of theinvention. The content, structure, and/or duration of the broadcastframe 2502 may be specified by a data transfer transport layer (e.g.,the data transfer transport layer 1104). As shown in FIG. 25, thebroadcast frame 2502 may include three portions: preamble 2504, dataportion 2506, and error detection data 2508. The preamble 2504 includesone or more bits that indicates a beginning of the broadcast frame 2502and/or provides a portable computing device 107 something to train onbefore receiving the data portion 2506. According to an embodiment ofthe invention, the preamble 2504 may include 6 sets of 8 bits, each setbeing bracketed by a start bit and a stop bit.

The data portion 2506 may include a broadcast ID 2510 that allows theportable computing device 107 to identify a signal incorporating thebroadcast frame 2502 as a broadcast 118. While FIG. 25 shows thebroadcast ID 2510 included in the data portion 2506, it should berecognized that the broadcast ID 2510 may be alternatively included inthe preamble 2504. In some embodiments of the invention, the broadcastID 2510 may indicate a size of the broadcast frame 2502 and/or a size ofthe data portion 2506, so that a portable computing device 107 maydetermine whether it has received a complete broadcast. In addition, thedata portion 2506 includes information to be transferred to a portablecomputing device 107. The information in the data portion 2506 mayinclude application(s) (e.g., the applications 605) and/or data (e.g.,the data 606).

As shown in FIG. 25, the broadcast frame 2502 may also include errordetection data 2508, such as, for example, a parity check code, achecksum, or a cyclic redundancy check (“CRC”), that enables a portablecomputing device. 107 to detect errors. While FIG. 25 shows the errordetection data 2508 included at the end of the broadcast frame 2502, itshould be recognized that the error detection data 2508 may bealternatively included in one or more places in the preamble 2504 and/ordata portion 2506.

FIG. 26 shows a broadcast frame 2602 in an alternate embodiment of theinvention. In this embodiment, the broadcast frame 2602 may include aplurality of broadcast sub-frames 2604, 2606. Each broadcast sub-frame2604, 2606 includes a preamble 2608, 2610, a data portion 2612, 2614,and error detection data 2616, 2618. In one embodiment, the preambles2608, 2610 of two or more broadcast sub-frames 2604, 2606 are identical.Each broadcast sub-frame 2604, 2606 may include a portion of informationto be transferred to a portable computing device 107. For example, afirst data portion 2612 may include executable data (e.g., theapplications 605), and a second data portion 2614 may includenon-executable data (e.g., the data 606). As another example, a firstdata portion 2612 may include non-executable data to be used inexecution of a first application in the portable computing device 107,and a second data portion 2614 may include non-executable data to beused in execution of a second application in the portable computingdevice 107.

Alternatively or in conjunction with the above, each broadcast sub-frame2604, 2606 may include information to be transferred to a portablecomputing device 107 of a particular capability, such as, of example, aparticular platform type (e.g., WinCE), or to a portable computingdevice 107 that has downloaded a particular version of a client 121. Forexample, a first data portion 2612 may include information targeted fora portable computing device 107 that has downloaded a first version of aclient 121, and a second data portion 2614 may be targeted for aportable computing device 107 that has downloaded a second version of aclient 121.

As shown in FIG. 26, each broadcast sub-frame 2604, 2606 may include arespective broadcast sub-frame ID 2620, 2622. A broadcast sub-frame ID2620, 2622 may allow the portable computing device 107 to identify asignal incorporating a broadcast sub-frame 2604, 2606 as a portion of abroadcast 118. Alternatively or in conjunction, a broadcast sub-frame ID2620, 2622 may identify the type of information included in theassociated broadcast sub-frame 2604, 2606. For example, a broadcastsub-frame ID 2620, 2622 may indicate that the associated broadcastsub-frame 2604, 2606 includes non-executable data for a particularapplication to be executed in a portable computing device 107. Asanother example, a broadcast sub-frame ID 2620, 2622 may indicate thatthe associated broadcast sub-frame 2604, 2606 includes informationtargeted for a given version of a client 121. Alternatively or inconjunction with the above, a broadcast sub-frame ID 2620, 2622 mayindicate an overall size of the broadcast frame 2602, a size of theassociated broadcast sub-frame 2604, 2606, and/or a size of theassociated data portion 2612, 2614, so that a portable computing device107 may determine whether it has received a complete broadcast 118 or acomplete portion of the broadcast 118. While FIG. 26 shows the broadcastsub-frame IDs 2620, 2622 included in respective data portions 2612,2614, it should be recognized that a broadcast sub-frame ID 2620, 2622may be alternatively included in a preamble 2608, 2610 of a respectivebroadcast sub-frame 2604, 2606.

FIG. 27 illustrates a broadcast frame 2702 in accordance with a furtherembodiment of the invention. In this embodiment, the broadcast frame2702 may include three portions: preamble 2504, data portion 2704, anderror detection data 2508. The preamble 2504 and the error detectiondata 2508 may be as previously discussed in connection with FIG. 25. Asshown in FIG. 27, the data portion 2704 may include a first broadcast ID2706 and a second broadcast ID 2708. The portion following a broadcastIDs 2706, 2708 may include a portion of information to be transferred toa portable computing device 107 and/or may include information to betransferred to a portable computing device 107 of a particularcapability, such as, of example, a particular platform type, or to aportable computing device 107 that has downloaded a particular versionof a client 121.

With reference to FIG. 27, a broadcast ID 2706, 2708 may allow theportable computing device 107 to identify a signal incorporating thebroadcast frame 2702 as a broadcast 118. Alternatively or inconjunction, a broadcast ID 2706, 2708 may identify the type ofinformation following the broadcast ID 2706, 2708. Alternatively or inconjunction with the above, a broadcast ID 2706, 2708 may indicate anoverall size of the broadcast frame 2702, a size of the data portion2704, and/or a size of the data portion following the broadcast ID 2706,2708, so that a portable computing device 107 may determine whether ithas received a complete broadcast 118 or a complete portion of thebroadcast 118.

It should be recognized that various choices for the structure, content,and/or duration of the beacon frame 2302, the ACK frame 2402, and thebroadcast frames 2502, 2602, or 2702 may be selected in accordance withfactors, such as, for example: (1) power conservation for thedistributor 103; and (2) whether communication between the distributor103 and the portable computing device 107 is synchronous orasynchronous. Typically, the length of a frame may be chosen to be assmall as practicable to conserve power of the distributor 103 whileconveying sufficient information as discussed above. Also, as one ofordinary skill in the art will understand, a frame in an asynchronoustype of communication may include one or more sets of 8 bits, each setbeing bracketed by a start bit and a stop bit. A set of 8 bits mayrepresent an ASCII character, for example. In addition, proper receptionof an ACK 114, 119 by a distributor's transceiver system 105 may beimproved if an ACK frame 2402 contains, on average, similar numbers ofbinary “1” and binary “0”. Hence, in an embodiment of the invention,bit-stuffing may be employed to insert a binary “1” or “0” after acontiguous sequence of binary “0” or binary “1”, respectively.

In an embodiment of the invention, a beacon 112, an ACK 114, 119, and abroadcast 118 are signals that incorporate a respective frame asdiscussed above. Embodiments of the invention may select differentphysical characteristics for the signals for a beacon 112, an ACK 114,119, and/or a broadcast 118, guided by factors such as, for example:

-   -   (1) signal type, such as, for example, infrared (“IR”), or radio        frequency (“RF”);    -   (2) digital modulation scheme, such as, for example, IrDA-type        modulation, amplitude-shift-keying (“ASK”),        frequency-shift-keying (“FSK”), phase-shift-keying (“PSK”),        Gaussian frequency-shift-keying (“GFSK”), differential        phase-shift-keying (“DPSK”), quadrature phase-shift-keying        (“QPSK”), offset-keyed quadrature phase-shift-keying (“OQPSK”),        minimum-shift keying (“MSK”), M-ary phase-shift-keying, 8-ary        phase-shift-keying, amplitude-phase-keying (“APK”), quadrature        partial response (“QPR”), quadrature amplitude modulation        (“QAM”), or pulse position modulation (“PPM”), or analog        modulation scheme;    -   (3) encoding scheme, such as, for example, non-return-to-zero        (“NRZ”), return-to-zero (“RZ”), return-to-bias (“RB”), Alternate        Mark Inversion or bipolar return-to-zero (“AMI/BRZ”), split        phase (Manchester), split phase (mark), delay modulation (Miller        code), and return-to-zero-inverted (“RZI”);    -   (4) desired rate of information transmission, such as, for        example, 1200 bps, 9600 bps, 115.2 kbps, 0.576 Mbps, 1 Mbps,        1.152 Mbps, and 4 Mbps;    -   (5) hardware capabilities of the distributor 103 and/or the        portable computing device 107; and    -   (6) desired range of communication between the distributor 103        and the portable computing device 107.        As discussed previously, one or more physical layers of the        communication protocol may specify the physical characteristics        of a signal.

According to an embodiment of the invention, a beacon 112 is an IRsignal that incorporates a beacon frame 2302 as, for example, shown inFIG. 23. In one embodiment of the invention, a distributor's transceiversystem 105 generates a beacon 112 with physical characteristicsspecified by a conventional communication protocol physical layer (e.g.,the conventional communication protocol physical layer 1110). Accordingto some embodiments of the invention, the conventional communicationprotocol physical layer 1110 may include a physical layer of aconventional IR communication protocol, such as, for example InfraredData Association (“IrDA”) communication protocol. As one of ordinaryskill in the art will understand, the IrDA physical layer specifies thephysical characteristics of an IR signal, including a modulation scheme,an encoding scheme, and an information transmission rate, to be usedwhen generating an IR signal. The IrDA physical layer specifiesdifferent physical characteristics for IR signals sent at differentinformation transmission rates, measured in bits per second (“bps”). Inparticular, one embodiment of the invention transmits a beacon 112 at atransmission rate of 115.2 kbps. At 115.2 kbps, the beacon 112 isgenerated using a RZI encoding scheme with an unmodulated IR pulse beingsent for 3/16 of a bit duration for a binary “0” and no IR pulse beingsent for a binary “I”.

In an embodiment of the invention, the distributor's transceiver system105 generates a beacon 112 in accordance with an encoding scheme,modulation scheme, and information transmission rate specified by aphysical layer of a conventional IR communication protocol, such as, forexample, the IrDA physical layer, but with a boosted base signal powerlevel specified by a data transfer physical layer 1106. This boostedtransmit power enables a portable computing device 107 to receive abeacon 112 at a greater distance from a distributor 107 than wouldotherwise be possible using a conventional IrDA communication protocoland with the portable computing device's transceiver 106.

According to an embodiment of the invention, an ACK 114, 119 is an IRsignal that incorporates an ACK frame 2402 as, for example, shown inFIG. 24. In one embodiment of the invention, a portable computing device107 generates an ACK 114, 119 in accordance with physicalcharacteristics used in conventional IR remote controls, such as, forexample, a conventional TV remote control. In this embodiment, aportable computing device 107 directs the transceiver 106 to transmit anACK 114, 119 at a transmission rate of 1200 bps. The ACK 114, 119 isgenerated using a NRZ encoding scheme with no parity and with a 37.5kilohertz (“kHz”) ASK modulation scheme, wherein a 37.5 kHz IR tone isgenerated for a binary “0”, and an IR tone is not sent for a binary “1”.These physical characteristics of the ACK 114, 119 enable adistributor's transceiver system 105 to properly receive an ACK 114, 119sent from a greater distance by the transceiver 106 of the portablecomputing device 107. In particular, the 37.5 kHz ASK modulation enablesthe receiver 415 of the distributor 103 to filter out noise by employinga bandpass filter centered around 37.5 kHz. The relatively slowtransmission rate also enables the distributor 103 to more easilyresolve information incorporated in an ACK 114, 119.

According to some embodiments of the invention, the preamble 2404incorporated in the ACK 114, 119 may comprise two portions: a firstportion including a 37.5 kHz IR tone and a second portion being idle (noIR transmission). According to an embodiment of the invention, theduration of the first portion may be 29 ms, and the duration of thesecond portion may be 11 ms. According to an embodiment of theinvention, a bit duration of a bit included in the data portion 2406 maybe 833.3 p.s to reduce bit timing errors and/or to enhance reliabilityof the ACK 114, 119 transmission.

In accordance with an embodiment of the invention, a portable computingdevice 107 generates a 37.5 kHz ASK-modulated ACK 114, 119 in accordancewith a data reception physical layer 1206 that has been previouslydownloaded. It should be recognized that hardware modifications to aportable computing device 107 need not be made in order for a 37.5 kHzASK-modulated signal to be transmitted. For instance, a portablecomputing device 107 may include hardware capable of transmittingsignals with various encoding and/or modulation and/or transmission ratecharacteristics, and the data reception physical layer 1206 may includeexecutable instructions to configure the hardware to generate the 37.5kHz ASK-modulated ACK 114, 119.

According to an embodiment of the invention, a broadcast 118 is an IRsignal that incorporates a broadcast frame 2502, 2602, or 2702 as, forexample, shown in FIGS. 25-27. In one embodiment of the invention, abroadcast 118 is generated with physical characteristics specified by aconventional communication protocol physical layer (e.g., theconventional communication protocol physical layer 1110). According tosome embodiments of the invention, the conventional communicationprotocol physical layer 1110 includes a physical layer of a conventionalIR communication protocol, such as, for example, the IrDA communicationprotocol. One embodiment of the invention transmits a broadcast 118 at atransmission rate of 115.2 kbps. At 115.2 kbps, the broadcast 118 isgenerated using a RZI encoding scheme with an unmodulated IR pulse beingsent for 3/16 of a bit duration for a binary “0” and no IR pulse beingsent for a binary “1”.

In an embodiment of the invention, a distributor's transceiver system105 generates a broadcast 118 in accordance with an encoding scheme, amodulation scheme, and information transmission rate specified by aphysical layer of a conventional IR communication protocol, such as, forexample, the IrDA physical layer, but with a boosted base signal powerlevel specified by a data transfer physical layer 1106. This boostedtransmit power enables a portable computing device 107 to receive abroadcast 118 at a greater distance from a distributor 103 than wouldotherwise be possible using the conventional IrDA communication protocoland with the portable computing device's conventional transceiver 106.

In alternate embodiments of the invention, a beacon 112, an ACK 114,119, and a broadcast 118 are RF signals that incorporate a beacon frame2302, an ACK frame 2402, and a broadcast frame 2502, 2602, or 2702,respectively, as, for example, shown in FIGS. 23-27. In one embodimentof the invention, each signal is generated in accordance with a physicallayer of a conventional RF communication protocol, such as, for examplea Bluetooth communication protocol. As one of ordinary skill in the artwill understand, the Bluetooth communication protocol defines two powerlevels: a lower power level that can cover shorter communication ranges;and a higher power level that can cover medium communication ranges.Embodiments of the invention may utilize either or a combination of thetwo power levels depending on the desired communication range between adistributor 103 and a portable computing device 107.

Distributor Battery 411 and Battery Conservation Procedure 2800

The battery 411 may be contained within the distributor 103 housing,according to an embodiment of the invention. The battery 411 may notnecessarily be rechargeable. The battery 411 may be selected based upona two-year operational life, according to an embodiment of theinvention. Extended battery life may be further facilitated by designingthe distributor 103 to support low current and power down modes for asmuch of its circuitry as possible, according to an embodiment of theinvention.

Distributor 103 usage and current consumption models indicate that abattery capacity of over 36 Ahr may be required to ensure a battery lifeof 2 years for the battery 411, according to an embodiment of theinvention. To address this requirement, as well as long shelf life,multi-cell lithium technology may be required. For example, a 2 celllithium thionyl chloride battery pack may be sufficient, according to anembodiment of the invention. Thus, the battery 411 may comprise alithium battery pack that provides a nominal voltage of 3.5 to 3.6volts, according to an embodiment of the invention.

According to an embodiment of the invention, the output of the battery411 may be connected directly to a regulator on a daughterboard that inturn supplies power to a motherboard. Specifically, an embodiment of theinvention may employ a Scout Modo motherboard designed to be powered by2 alkaline cells. Accordingly, additional batteries associated with adaughterboard may provide power centered at 2.5 volts. Power supplycircuits on the Modo motherboard may support all requirements for Modocircuits as well as provide 3 volt power back to the daughterboard.

The ability to conserve battery power on the distributor 103 may becrucial for the commercial acceptance of the distributor 103 in somedeployment environments. The longer that the distributor's battery 411can last without being replaced or recharged, then the longer thedistributor 103 can operate without necessity for being visited by arepair person and being opened. Long battery life may simplify theprocess of providing distributors 103 over a wide geographic area sincethe distributors 103 may receive communications from the systemcommunication network 111, and the distributors 103 need not necessarilyhave any physical connection to their locality. Of course, in someembodiments of the invention, the battery 411 may be replaced orsupplemented by an electrical power supply.

FIG. 28 is a flowchart that illustrates a battery conservation procedure2800, according to an embodiment of the invention. An administrationserver (e.g., the administration server 410) may direct the batteryconservation procedure 2800, according to an embodiment of theinvention. The battery conservation procedure 2800 begins in thesituation where the distributor's battery 411 is already turned on topower various distributor components.

A check is performed to see if the transceiver system (e.g., thetransceiver system 105) is in use (step 2801). According to anembodiment of the invention, the transceiver system 105 may be switchedbetween an active mode with increased power consumption and a sleep orpower down mode with reduced power consumption. If the transceiversystem 105 is in use (step 2801), then the battery 411 continues to beengaged while the transceiver system 105 operations complete (step2803). Transmissions of beacons 112 and broadcasts 118, reception ofACKs 114, 119, and sleep periods may be interleaved in a manner tosupport power conservation, according to an embodiment of the invention.For example, the beacon acknowledgment procedure may occupy two 5-secondslots, with broadcasting occurring on a requested basis. Broadcasts 118may repeat continuously for a given time period or may repeat on request(e.g., via an ACK 114). To reduce battery 411 consumption, both schemesmay typically require that broadcasts 118 terminate when no portablecomputing devices 107 are in range of receiving a broadcast 118 and/orthere are no such portable computing devices 107 providing an indicationthat they would like to receive a broadcast 118.

If the transceiver system 105 is not in use (step 2801), then a check isperformed to determine if a scheduled network communication (e.g., viathe system communication network 111) is imminent (step 2805). If ascheduled transmission reception is imminent (step 2805), then thebattery 411 remains powered while the network receiver (e.g., thenetwork receiver 104) receives the transmission (step 2807). Accordingto an embodiment of the invention, the network receiver 104 may beswitched between an active mode with increased power consumption and asleep or power down mode with reduced power consumption. As previouslydiscussed, the distributor 103 may receive information on a scheduledbasis from the system communication network 111. Schedulingtransmissions may allow the distributor 103 to keep its network receiver104 (e.g., a Flex receiver) powered down until the time designated forthe next scheduling message or Groupcast. Accordingly, the maximumnumber of daily communications may need to be limited to ensure bestbattery life. As previously discussed, the schedules may be configurableon a per distributor 103 basis.

If no transmission reception is imminent (step 2805), then thedistributor 103 may enter into a sleep mode which reduces consumption ofpower from the battery 411 (step 2809). A check is periodicallyperformed to monitor the presence of portable computing devices 107(step 2811). The monitoring step may be performed in conjunction bysending a beacon 112 transmitted by the transceiver system 105. In anembodiment of the invention, the distributor 103 periodically wakes up(or operates in a reduced power mode) to perform the monitoring step2811. As discussed herein with regard to the data transfer communicationprotocol, even during a transmitting or receiving operation, portions ofthe distributor 103 (e.g., the transceiver system 105) may be turnedoff. If a portable computing device 107 responds to the beacon 112, thenthe distributor 103 may need to wake up (or remain awake) and beginadditional transceiver system 105 operations. Of course, the distributor103 may remain awake and avoid entry into the sleep mode (at leasttemporarily) in order to perform routine maintenance or reconfigurationtasks. In addition, a distributor 103 having an independent power sourcemay not need to enter into a sleep cycle as frequently (or at all) as adistributor 103 having only a battery power source.

If no portable computing devices 107 are present (e.g., no portablecomputing device 107 responds to the beacon 112) (step 2811), then acheck is performed to determine if a scheduled transmission to thedistributor 103 from the system communication network 111 is imminent(step 2813). If a transmission is imminent, then the distributor 103 mayneed to wake up and begin network receiver 104 operations. If notransmission is imminent, then the distributor 103 may remain in thesleep mode.

In an alternative embodiment, the distributor's battery 411 could besupplemented, or even replaced, by another power source. For example,the distributor 103 could include a conventional external power adapter.Alternatively, the distributor 103 could be configured to receiveelectrical power by an induction device. An induction device embodimentwould still be supportive of the distributor's general goals of ease ofdeployment. When the external power adapter is used, the external supplymay disconnect the battery 411, according to an embodiment of theinvention. When an external power source is present, the battery 411 mayrecharged, according to an embodiment of the invention. When theexternal supply is engaged, additional power hungry functions on thedistributor 103 may be supported, according to an embodiment of theinvention. In addition, maintenance of low power and power down modesmay be ignored when the external power supply is present, e.g., a sleepcycle may not be engaged. It should be recognized that embodiments ofthe distributor 103 powered by an external power supply may repeatedlysend broadcasts 118 for a given time interval of a given day, whichbroadcasts 118 need not be prompted by a portable computing device 107.

A switch may be incorporated in the distributor's housing andelectronics to disconnect the battery 411 during shipment. The switchmay also be used as a reset switch if an event occurs that locks up theoperation of distributor's software.

Sample Distributor 103 Hardware Embodiment

The distributor 103 may comprise pre-existing electronic assembliesdeveloped for other computing devices, according to an embodiment of theinvention. For example, FIG. 29 illustrates an embodiment of thedistributor 103 that employs a Scout Electromedia Modo motherboard 2901augmented with a daughterboard 2902 connected to the motherboard 2901 byconnections 2921. The motherboard 2901 provides distributor functionssuch as a CPU (e.g., the CPU 422 shown in FIG. 4) and a Flex pagingreceiver and related paging subsystems (e.g., the network receiver 104).The daughterboard 2902 provides distributor functionality such as powersupply regulation 2906 and IR transmitters, receivers, and userinterface functions 2905. The distributor battery 411 may comprise 3.6VLithium batteries 2909 in this embodiment of the invention. Aspreviously discussed, embodiments of the distributor 103 may also reusesoftware from pre-existing systems, such as software for the Scout Mododevices.

As shown in FIG. 30, the Scout Electromedia Modo motherboard 2901 mayprovide a Flex paging receiver 3003 and processing devices 3012,according to an embodiment of the invention. The processing devices 3012may provide, among other things, a CPU (e.g., the CPU 422), RAM (e.g.,the RAM 412), memory (e.g., the memory 405), and support for the networkreceiver 104 for an embodiment of the distributor 103.

Specifically, the Scout Electromedia Modo motherboard 2901 may comprisea microprocessor 3004, a 128×8 Serial EEPROM 3005 having an I²Cinterface, a 1 M×16 Flash EPROM/ROM 3006, a 1 M×16 DRAM (having 1 Krefresh, fast-page mode or better) 3007, power supply circuits 3011, anda FLEX decoder 3008. The power supply circuits 3011 may be configuredfor both the processing devices 3012 and the receiver 3003. The FLEXdecoder 3008 may process Flex packets from the receiver 3003. Themicroprocessor 3004 may be a Motorola® MC68EZ328 (DragonBall-EZ)Controller.

The Flex paging receiver 3003 and the FLEX decoder 3008 may comprise thenetwork receiver 104, according to an embodiment of the invention. TheFlex paging receiver 3003 may be a 900 MHz FLEX paging receiver,according to an embodiment of the invention. It should be recognizedthat other conventional paging receivers may be used as the Flex pagingreceiver 3003. The Flex paging receiver 3003 may comprise a PCB-mountedantenna, a variable gain low noise amplifier (“LNA”) front-end tosupport automatic gain control (“AGC”), a programmable 900 MHzsynthesizer for receiving Flex paging frequencies, a 21.4 MHz firstintermediate frequency (“IF”) stage, a single back-end chip, a mixer togenerate 455 kHz second IF from 21.4 MHz first IF, a received signalstrength indication (“RSSI”) voltage output for AGC, a 455 kHz IFlimiter output for the FLEX decoder 3008, and a power on/off control tominimize current during “sleep” periods. An ordinary artisan may chooseto review the specifications for Motorola Flex radio receivers toconfirm that embodiments of the distributor 103 satisfies therequirements for such systems where necessary.

The Modo motherboard 2901 may comprise a single printed-circuit assembly(“PCA”) 3010. External connections from the Modo PCA 3010 may comprise atwo wire serial port, I/O lines for IR communications and UI control, aswell as 2.5V input and 3V output power connections. Additionalinformation about the Modo electrical assembly (e.g., the motherboard2901) may be found in the Modo Detailed Circuit Description, ScoutElectromedia part no. 12223-1920, which is incorporated by referenceherein. An ordinary artisan will recognize that a number of functionssupported by the pre-existing Modo PCA 3010 may not be required in thedistributor 103 and may be removed, especially if removal eitherdecreases power consumption or increases product reliability.

Thus, by using pre-existing systems, completion of the electronics foran embodiment of the distributor 103 may require addition of merely afew additional subsystems, such as the transceiver system (e.g., thetransceiver system 105) and power supply circuitry. Additionalfunctionality may be provided on the daughterboard 2902 connected to themotherboard 2901, according to an embodiment of the invention. Dependingon the housing design and available internal space, the batteries 2909may be mounted directly to the daughterboard 2902, according to anembodiment of the invention. Alternatively, the batteries 2909 may bemounted elsewhere and connected to the daughterboard 2902.

FIG. 31 illustrates an embodiment of the daughterboard 2902, which mayinclude the additional circuitry that further supports the distributor'sfunctionality, according to an embodiment of the invention. Thesecircuits may include: a step-down switching regulator 3112; an IrDAtransceiver 3113; high-power IR transmitters 3114 configured for longrange beacons 112 and broadcasts 118; a 38 kHz (or 37.5 kHz) ASKinfrared receiver 3115 configured for long range ACK 114, 119 reception;an LED status indicator 3116, and a CMOS level RS-232 serial interface3117. The daughterboard 2902 may supply the motherboard 2901 with 2.5Vvia the high-efficiency switching regulator 3112. The Modo motherboard2901 may, in turn, supply the daughterboard 2902 with 3.0V to powercircuitry and the interface logic 3118 on the daughterboard 2902. Theswitching regulator 3112 may comprise a portion of the power supplyregulation 2906 described in FIG. 29, according to an embodiment of theinvention.

The Modo's DragonBall processor 3004 shown in FIG. 30 may comprise onlya single universal asynchronous receiver/transmitter (“UART”).Accordingly, the daughterboard 2902 may need to share the UART with itsserial devices, e.g., the CMOS RS-232 interface 3117, the IrDAtransceiver 3113, the high power IR transmitters 3114, and the 38 kHzASK receiver 3115. Thus, the interface logic 3118 may multiplex theserial devices using control signals from the motherboard 2901.

The IrDA transceiver 3113 may support normal IrDA two-way communications(e.g., for downloading the client 121) and, in conjunction with the highpower IR transmitters 3114, long range IR transmissions for beacons 112and broadcasts 118. The IrDA transceiver 3113 may provide thetransceiver 414 shown in FIG. 4A and FIG. 4B, according to an embodimentof the invention. Likewise, the high power IR transmitters 3114 mayprovide the high power transmitter 425 shown in FIG. 4B. The IrDAtransceiver's output power may be set to high power (full transmissionrange) or low power (standard IrDA range) by control signals from theModo motherboard 2901.

Additional IR transmitter LEDs 3119 may be provided to extend the rangeand beam width of the beacons 112 and broadcasts 118. For example, twoadditional LEDs 3119 may be provided to the IrDA transceiver 3113. Thesethirty degree (+/−15 degree), half power point LEDs may be mounted at 21degree angles from center. The LEDs 3119 may produce a combined halfpower point beam width of 60 degrees, (+/−30 degrees), while maintaininga zero degree range of up to 15 feet, according to an embodiment of theinvention. It should be recognized that extending the beam width mayfacilitate sending a signal to a plurality of portable computing devices107 and/or to a portable computing device 107 located off centerrelative to the distributor 103.

The discrete 38 kHz ASK IR receiver 3115 may be provided to supportreceipt of TV remote type signals, according to an embodiment of theinvention. This may allow the distributor 103 to receive ACKs 114, 119from the portable computing devices 107 after transmissions of beacons112 or broadcasts 118. A bandpass filter (not shown) may be provided tofocus the receiver 3115 on the 38 kHz range, according to someembodiments of the invention. According to some embodiments of theinvention, the receiver 3115 may include a pin diode (not shown) that istuned to a wavelength or a range of wavelengths associated with the IRsignals (e.g., 880 nm). One embodiment of the invention employs aconventional pin diode (e.g., Optec OP950). The receiver 3115 mayprovide the receiver 415 shown in FIG. 4A and FIG. 4B, according to anembodiment of the invention.

The Modo motherboard 2901 and the daughterboard 2902 may be connectedvia the connection 2921 as shown in FIG. 29. The connection 2921 maycomprise a flex circuit and four wires 2921 that route control lines,LED signals, and 3 V power via the Modo assembly's LCD connector,according to an embodiment of the invention. The functionality of 1/Olines originally used to communicate to the Modo LCD may be changed viasoftware to support the requirements of the daughterboard 2902. Anidentical flex connector may be placed on the daughterboard 2902 toallow use of a straight through, conductor flex circuit, according to anembodiment of the invention. Two of the four wires for connecting thetwo boards may route 2.5V power from the daughterboard 2902 to the Modomotherboard 2901. The remaining two wires may support a serialconnection for transferring data through the daughterboard's IRtransmitters and receivers 3113, 3114, and 3115, as well as the internaltwo wire RS-232 port 3117. All four wires may be soldered directly topoints on the Modo motherboard 2901 and connection points on thedaughterboard 2902.

In addition to the interconnections with the Modo motherboard 2901, thedaughterboard 2902 may also support external connections for serialcommunications and power input (e.g., the batteries 2909 and/or an ACadapter). A two-pin header may be provided for a two wire externalserial port. This port may be supported as an alternative communicationsmechanism to that of the IR transceiver 3113 for engineering andmanufacturing purposes. This port may not be accessible once theassembly is mounted in the distributor housing. RS-232 Tx and Rx signalsmay be supported at CMOS levels. Battery power may be provided directlyto the daughterboard 2902 via a two-pin socket.

Sample Distributor 103 Mechanical Embodiment

The distributor's industrial design may need to address factors such asunit size, simplicity of use, multiple placement capabilities, andvisibility. Embodiments of the distributor 103 may have atwo-dimensional frontpiece footprint of approximately 25 sq. in. Thisrelatively small size may allow the distributor 103 to be more easilyintegrated into its deployment environment, e.g., in conjunction with anadvertising display.

As shown in FIGS. 32A and 32B, embodiments of the distributor 103 may bewall mounted or table mounted. A distributor housing 3201 may bedesigned to allow mounting to a vertical wall via an attachment 3202and/or placement on a flat surface. Wall mounting may require that an IRwindow 3204 face outward from the distributor's largest face. Desktopmounting may require the use of a desktop mount 3203 (e.g., a bracket)in which to hold the distributor 103. The desktop mount 3203 mayposition the distributor 103 so that the IR window 3204 is perpendicularto the desk surface and pointed in a likely direction of use (e.g., thedirection from which most users will likely approach the distributor103).

The distributor's desktop mount 3203 may also include expansion portsand connections 3208. In this embodiment, the distributor's expansionport could connect electrically to the desktop mount 3203 in a similarmanner to that of a laptop port replicator. The connection 3208 couldprovide a connection to an electronic network 3209. Similarly, theconnection 3208 could provide the distributor 103 with access to a powersupply.

The distributor's housing 3201 may include all electrical components andbatteries. Since the distributor 103 may be deployed outside, thehousing should generally use a material suitable for an outdoorsenvironment. The housing 3201 may be made from a non-metallic material.For example, embodiments of the distributor 103 may use a tooled plastichousing or an aluminum housing. A non-metallic material may providebetter operations if the distributor 103 also includes an internalantenna, e.g., an internal paging antenna. In some embodiments, anexternal antenna may be mounted to the outside of the housing andintegrated into the distributor's overall industrial design. Thedistributor's housing may conceivably be made from almost any material,although a tamper-resistant design may be better suited for manydeployment environments.

The use of pre-existing hardware in various embodiments of thedistributor 103 may affect the housing's shape and the distributor'smechanical mounting requirements. For example, an embodiment of thedistributor 103 may use existing Scout Electromedia Modo electronicswith additional circuitry incorporated in an attached daughterboard2902. Likewise, an embodiment of the distributor 103 may use an existingMotorola Creatalink paging module. The use of pre-existing equipment,such as those described above, may compel additional designconsiderations, as an ordinary artisan will recognize.

The distributor housing 3201 may need to provide space for variousinformation. For example, the housing 3201 may include: Productinformation, such as a company logo, product name, serial number, andinstructions or operational notes; manufacturing information, such asbar coding and manufacturing location; battery disposal information andregulatory information, such as a conventional FCC Class B text.Labeling may be placed in a visible location on the housing 3201 forunpacking and handling of the distributor 103, but such labeling may notnecessarily need to be visible once the distributor 103 isoperating/mounted.

A status indicator 3205 may use a visual mechanism, such an LED or aLCD, to provide status information. The status indicator 3205 mayprovide operational status information such as “Power on,” “Systemcommunication network coverage,” and “Low battery.” Support for thestatus indicator 3205 may be provided via software (e.g., theadministration server 410), so that status functions can be easilychanged or additional functions added in the future. The distributor 103may further include a battery disconnect and reset switch 3206 for aninternal battery power source (e.g., the battery 411).

The distributor 103 may be intended for use in both indoor and outdoorenvironments. Since embodiments of the distributor 103 may employcomponents having limited operational temperature range, care should betaken to protect the distributor 103 and/or deploy the distributor 103primarily in indoor environments. Embodiments of the distributor 103 mayhave an indoor temperature range of +10 to +50° C. and an outdoortemperature range of −40 to +85° C.

As an ordinary artisan will recognize, the distributor 103 may also needto be developed to account for factors such as drop, shock, vibration,humidity, water, and dust. In addition, regulatory requirementsnecessary for operation in various locations must also be considered andsatisfied.

Expansion Port and Expansion Network

FIG. 33A illustrates an embodiment of the distributor 103 that includesan expansion port 3301 that may provide an electronic network connection3303. Thus, the expansion port 3301 may enable communications betweenthe distributor 103 and the electronic network connection 3303 (e.g., alocal area network, the Internet, etc.). The electronic networkconnection 3303 may allow the distributor 103 to receive informationfrom other computing systems (e.g., the information provider system 101and/or the structuring system 102) and may also provide the distributor103 with a back channel to communicate information to other computingsystems (e.g., the information provider system 101 and/or thestructuring system 102), according to an embodiment of the invention.

The distributor 103 may use the electronic network connection 3303 inplace of, or in addition to, communications provided by the networkreceiver 104. For example, the distributor 103 could use the electronicnetwork connection 3303 to provide a back channel that would allowinformation received from portable computing devices 107 to be passedback to the structuring system 102 or even to a larger audience (e.g.,throughout the Internet). Likewise, the distributor 103 could also usethe electronic network connection 3303 as a means of passing statusinformation back to the structuring system 102 (or a maintenancefacility). Of course, the electronic network connection 3303 could alsobe used as a means for downloading information into the distributor 103.The expansion port's external physical connections may take the form ofstandard RS-232, Universal Serial Bus (“USB”), or Ethernet, according toan embodiment of the invention. Some embodiments of the invention mayrequire a dial-up modem (not shown).

The distributor 103 may also support a connection 3304 for externallyreceiving power. For example, a plug-in transformer with a DCdistributor may be coupled to the distributor 103 via the connection3304, according to an embodiment of the invention.

As shown in FIG. 33B, an expansion port 3302 could allow the distributor103 to operate peripheral equipment, according to an embodiment of theinvention. For example, the expansion port 3302 may enable thedistributor 103 to provide coding and programming for an adjoiningdisplay 3305 via a connection 3306 to a display data port 3307. Theexpansion port 3302 could also support other peripheral equipment suchas, for example, additional IR transmitters, wide area wirelesscommunication devices, and/or industrial equipment (e.g., roboticdevices). According to an embodiment of the invention, the expansionport 3302 may be used to download information (e.g., the client. 121) toa portable computing device 107 via a conventional wired communicationprotocol.

The expansion ports and connections 3301, 3302, and 3304 could beintegrated into the distributor 103 in such a manner that wiring may beeasily attached without being overly conspicuous. All connections andwiring may be positively retained to minimize inadvertentdisconnections, according to an embodiment of the invention.

Distributor 103 Bulletin Board and Back Channel

FIG. 34 illustrates an alternative embodiment of the invention in whichthe distributor 103 includes a bulletin board server 3401 for usersassociated with portable computing devices 107 that interact with thedistributor 103. For example, the client 121 may include a messageproducer 3403 that allows a user of the portable computing device 107 topost message(s) on the distributor's bulletin board server 3401.According to embodiments of the invention, the message producer 3403could be included as part of the client 121 or could represent apre-existing message producing facility already included on the portablecomputing device 107 (e.g., Microsoft Outlook).

The message addressing format used by the bulletin board server 3401could be such that any portable computing device 107 could downloadposted messages from the distributor 103 and/or the message addressingformat could have some addressing capability and/or privacy mechanismthat allows only a particular addressee(s) to view message(s) (e.g., ina manner similar to that of conventional e-mail systems).

If the distributor 103 includes a back channel transmitter 3402, thenthe portable computing devices 107 may even prepare and transmitmessages through the electronic network connection 3303, according to anembodiment of the invention. The back channel transmitter 3402 need notnecessarily be a wireless transmission device but may simply comprisethe functionality necessary for communicating across the electronicnetwork connection 3303 (e.g., the Internet). Thus, the back channeltransmitter 3402 may include a dialup modem in some embodiments of theinvention.

For example, a user of the portable computing device 107 may engage themessage producer 3403 to prepare a message that is transmitted to thetransceiver 106 via a connection 3405. The message may have a small sizelimit in some embodiments of the invention. The connection 3405 mayrepresent the normal communication channel used by the client 121, forexample. The transceiver 106 then transmits the message to thedistributor's transceiver system 105 on a connection 3406. Theconnection 3406 may represent an ACK 114, 119 or another signal formatrecognizable by the transceiver system 105 (e.g., IrDA). The transceiversystem 105 then transmits the message on a connection 3407 to thebulletin board server 3401. The connection 3407 may represent the normalcommunication channel used by the transceiver system 105 to communicatewith elements of the distributor 103.

The message may remain in the bulletin board server 3401 (or a memoryaccessible to the bulletin board server 3401) until the bulletin boardserver 3401 receives a message request from a portable computing device107. For example, a portable computing device 107 may include a messagereader 3404. The message reader 3404 may be included in the client 121or could be a pre-existing message reading facility already included inthe portable computing device 107 (e.g., Microsoft Outlook), accordingto embodiments of the invention. The message reader 3404 sends a messagerequest to the transceiver 106 on a connection 3408. The connection 3408could represent the normal communication channel used by the client 121to communicate with the transceiver 106, according to an embodiment ofthe invention. The transceiver 106 sends the message request to thetransceiver system 105 on a connection 3409. The connection 3409 mayrepresent an ACK 114, 119 or another signal format (e.g., IrDA)recognizable by the transceiver system 105. The transceiver system 105sends the message request to the bulletin board server 3401 on aconnection 3410. The connection 3410 may represent the normalcommunication channel used by the transceiver system 105 to communicatewith elements of the distributor 103.

The bulletin board server 3401 receives the message request anddetermines if there are any messages suitable for transmission to theportable computing device 107. As discussed above, embodiments of theinvention may allow users to read a large subset of all downloadedmessages (e.g., all messages) while other embodiments may allow users toread only those messages specifically addressed to them. In any event,the bulletin board server 3401 determines whether there are any messagesto transmit and prepares and sends a response on a connection 3411 tothe transceiver system 105. The connection 3411 may represent the normalcommunication channel by which elements of the distributor 103communicate with the transceiver system 105. The response may includethe message(s) to be reviewed. The transceiver system 105 sends theresponse on a connection 3412 to the portable computing device'stransceiver 106. The connection 3412 may include the variouscommunications protocols available to the transceiver system 105, suchas IrDA and/or the data transfer communication protocol disclosedherein. The transceiver 106 sends the response to the message reader3404 on a connection 3413. The connection 3413 may represent the normalcommunication channel by which the transceiver 106 communicates withelements of the portable computing device 107. The portable computingdevice user may now review the message request response. If the responsedoes not include the message(s) available to the portable computingdevice 107, then the user may instruct the message reader 3404 to obtainthe available message(s) using a similar procedure.

In an alternative embodiment, the bulletin board server 3401 and/or themessage reader 3404 may be configured to operate automatically and notrequire explicit user queries/actions to request messages, e.g., in themanner of a conventional e-mail system. Thus, in such an embodiment, amessage could be sent from one portable computing device 107 andreceived automatically in another portable computing device 107 via thebulletin board server 3401 without requiring explicit user retrievaloperations.

Depending on the message's address and/or on whether a particularembodiment of the invention supports the back channel transmitter 3402,the bulletin board server 3401 may transmit the message on a connection3414 to the back channel transmitter 3402. The connection 3414 mayrepresent the bulletin board server's normal communication channel forcommunicating with other elements of the distributor 103. The backchannel transmitter 3402 may then transmit the message over theelectronic network connection 3303 to another destination along theelectronic network. In some embodiments of the invention, the backchannel transmitter 3402 may receive messages from across the electronicnetwork connection 3303 and provide them to the bulletin board server3401. Such messages may then be provided to one or more portablecomputing devices 107, according to embodiments of the invention.

Operations of the back channel transmitter 3402 may include servicesother than e-mail delivery, according to embodiments of the invention.The portable computing devices 107 may provide information of all sortsto the distributor 103 for transmission via the back channel transmitter3402 across the electronic network connection 3303 to other computingsystems. For example, a user operating an application 605 being executedby the RAS 602 may select an action that causes information (e.g., data)to be sent to the distributor 103 for retransmission to anothercomputing system via the back channel transmitter 3402. Thus, the backchannel transmitter 3402 may provide a means for users to communicatewith other computing systems and even perform transactions, includingpurchases of goods and services, access to corporate database, retrievalof other applications, etc. The transmission of information to thedistributor 103 from the portable computing device 107 would typicallybe conducted by adding the information to one or more ACKs 114, 119,according to an embodiment of the invention.

Distributor 103 Administration and Diagnostic Tool

FIG. 35 illustrates an administration and diagnostics tool 3500,according to an embodiment of the invention. The administration anddiagnostic tool 3500 may be configured to examine the distributor 103,verify that it is operating within expected parameters, and/or provideremedial actions if necessary, according to an embodiment of theinvention. As discussed previously, an administration server 410included in a distributor 103 may send/receive data and instructionspertaining to maintenance and operations of the distributor 103 andperform requested updates. The data and instructions may be sent to orreceived from the structuring system 102 (via the system communicationnetwork 111) and/or to or from other systems, such as a portablecomputing device 107 configured for administrative and/or diagnosticoperations. In particular, a portable computing device 107 having anappropriate administration and diagnostic software 3501 may provide asample administration and diagnostics tool 3500. Communicationsassociated with the administration and diagnostic tool 3500 may need tobe within the conventional two-way communications range (e.g., IrDAcommunication range) of a portable computing device 107 in order toproperly perform its administration and diagnostic operations on thedistributor 103 via the connection 3502. Password authentication mayprotect the distributor 103 from unauthorized local administrationaccess.

The distributor 103 may maintain usage statistics and diagnosticinformation that will be accessible to local administrators (e.g., usingthe portable computing device 107 shown in FIG. 35). In addition, tosupport data collection and configuration abilities, as well asproduction manufacturing test requirements, the distributor 103 mayinclude a mechanism to place itself into a “test” mode. This mode maysupport reprogramming of the distributor's flash memory and support asimple command line interface using the IrDA link (e.g., the connection3502), according to an embodiment of the invention. Again, a portablecomputing device 107 using the administration and diagnostic software3501 program may be used to communicate with the distributor 103 andprovide reprogramming and diagnostic test services.

The distributor's administration server 410 may also allow the systemcommunication network 111 to adjust the distributor's configurationparameters and update firmware. Local administrators may also conductthese operations and others that require interactive access, accordingto an embodiment of the invention.

Additional Design Considerations

The distribution network's design may need to account for the variety ofpossible portable computing devices 107 by taking a “lowest commondenominator” design approach which allows a greater number of portablecomputing devices 107 to communicate with the distributor 103 but maynot necessarily use all possible capabilities to their fullest. Ofcourse, an ordinary artisan will recognize that sometimes older portablecomputing devices 107 may no longer be supported in order for theoverall system to provide greater services to other, more modem portablecomputing devices. 107. For example, a greater communication distancecould possibly be supported by the distributor 103 by taking advantageof the improved communications abilities in some portable computingdevices 107, e.g., some models of Palm Pilots provide bettercommunications capabilities than other models of Palm Pilots.

While an embodiment of the distributor 103 may support only a singletype of portable computing devices 107 (e.g., PalmOS devices), thedistribution network 120 may generally be expanded to support multipletypes of portable computing devices 107. An ordinary artisan willrecognize that expanding the system to support additional portablecomputing devices 107 may, in some instances, compel modifications tothe protocols described herein. In addition, modifications may need tobe made to various client components in order for them to functionproperly on multiple types of portable computing devices 107. In anembodiment of the invention in which the distributor 103 supportsmultiple types of portable computing devices 107, the transceiver system105 may be used to identify a portable computing device's type from theACK 114, 119 and/or beam response 126.

Embodiments of the invention may further include a help system,including a wizard that provides assistance to users, as well astechnical staff responsible for configuring the distribution network 120and its various components.

In addition, embodiments of the invention further relate to computerstorage products with a computer-readable medium having computer codethereon for performing various computer-implemented operations. Themedia and computer code may be those specially designed and constructedfor the purposes of the present invention, or they may be of the kindwell known and available to those of ordinary skill in the computersoftware arts. Examples of computer-readable media include, but are notlimited to: magnetic media such as hard disks, floppy disks, andmagnetic tape; optical media such as CD-ROMs and holographic devices;magneto-optical media such as floptical disks; and hardware devices thatare specially configured to store and execute program code, such asapplication-specific integrated circuits (“ASICs”), programmable logicdevices (“PLDs”) and ROM and RAM devices. Examples of computer codeinclude machine code, such as produced by a compiler, and filescontaining higher level code that are executed by a computer using aninterpreter.

While the invention has been particularly shown and described withreference to specific embodiments thereof, it will be understood byordinary artisans that changes in the form and details of the disclosedembodiments may be made without departing from the spirit or scope ofthe invention. For example, embodiments of the invention have beendescribed with reference to the object-oriented Java programminglanguage and development tools. It will be understood, however, that theprinciples of the present invention may be embodied using a variety ofother software paradigms including, for example, other object-orientedprogramming languages and tools. Moreover, merely because specificembodiments of the invention have been described with reference tocommunications over the Internet and/or the World Wide Web does notrestrict the scope of the invention to such implementations. On thecontrary, the scope of the invention encompasses a much broaderinterpretation of electronic networks including, for example, local areaand wide area networks.

Embodiments of the invention using a wireless voice and/or dataelectronic network may be developed for operation with any acceptablewireless format, as an ordinary artisan will recognize. For example,embodiments of the invention may be compatible with communicationstransmitted in accordance with the Short Messaging Service (“SMS”) andthe Wireless Application Protocol (“WAP”) specifications and standards,such as HDML, WML, CDPD, CDMA, and GSM.

In describing various embodiments of the invention, reference has beenmade to various hardware configurations, communication protocols, andsoftware architectures. It will be understood, however, that the presentinvention is much more widely applicable than the specific embodimentsdescribed herein. That is, the architecture of the present invention isnot necessarily protocol or media specific and may be adapted to anyprotocol or any kind of media. In particular, various softwarearchitectures, including, for example, a Java implementation, may beemployed to implement the present invention.

Embodiments of the invention described herein may operate in conjunctionwith and/or make use of various other hardware and software components.For example, an embodiment of the invention has been described as usingScout Modo electronics. Various possibly related components aredisclosed in the following commonly owned applications:

“Computing Device Housing,” U.S. Design Pat. No. D466,896, filed on Apr.11, 2001, and bearing in the name of Peikwen Cheng, the disclosure ofwhich is incorporated herein by this reference.

“Methods of Commerce Using Intelligent Objects,” U.S. Application No.60/116,520, filed Jan. 20, 1999 in the names of William R. Cockayne andNathan G. Schmidt, the disclosure of which is incorporated herein bythis reference.

“Mobile Communication Device for Electronic Commerce,” U.S. applicationSer. No. 09/518,752, filed Mar. 3, 2000 in the names of William R.Cockayne and Nathan G. Schmidt, the disclosure of which is incorporatedherein by this reference.

“Methods of Commerce Using Intelligent Objects,” U.S. application No.Ser. 09/487,741, filed Jan. 19, 2000 in the names of Daniel S. Bomze,William R. Cockayne, Nathan G. Schmidt and Geoffrey Pitfield, thedisclosure of which is incorporated herein by this reference.

“Methods of Electronic Commerce Using Intelligent Objects,” U.S.Application No. 60/123,307, filed Mar. 5, 1999 in the names of WilliamCockayne and Nathan Schmidt, the disclosure of which is incorporatedherein by this reference.

“More Methods of Electronic Commerce Using Intelligent Objects,” U.S.application Ser. No. 09/518,915, filed Mar. 3, 2000 in the names ofWilliam R. Cockayne and Nathan G. Schmidt, the disclosure of which isincorporated herein by this reference.

“Mobile Communication Method & Computer Code for Electronic Commerce,”U.S. application Ser. No. 09/350,769, filed Jul. 9, 1999 in the names ofWilliam R. Bomze, William R. Cockayne, Nathan G. Schmidt and GeoffreyPitfield, the disclosure of which is incorporated herein by thisreference.

“Mobile Communication System & Computer Code for Electronic Commerce,”U.S. application Ser. No. 09/351,410, filed Jul. 9, 1999 in the names ofWilliam R. Cockayne, Stephen K. Orens, Christopher G. Cotton, David E.Weekly, Nathan G. Schmidt, the disclosure of which is incorporatedherein by this reference.

“Mobile Communication Device for Electronic Commerce,” U.S. applicationSer. No. 09/351,409, filed Jul. 9, 1999 in the names of Daniel S.Bornze, William R. Cockayne, Nathan G. Schmidt and Geoffrey C. Pitfield,the disclosure of which is incorporated herein by this reference.

“Mobile Communication Device,” U.S. Application No. 60/228,017, filedAug. 24, 2000 in the names of William R. Cockayne, Daniel S. Bomze,Nathan G. Schmidt and Geoffrey Pitfield, the disclosure of which isincorporated herein by this reference.

“Two way Radio for Mobile Communication Device for Electronic Commerce,”U.S. Application No. 60/228,604, filed Aug. 28, 2000 in the name ofWilliam R. Cockayne, the disclosure of which is incorporated herein bythis reference.

“Additional Mobile Communication Methods for Electronic Commerce,” U.S.Application No. 60/142,738, filed Jul. 8, 1999, the disclosure of whichis incorporated herein by this reference.

“Additional Mobile Communication Methods For Electronic Commerce,” U.S.application Ser. No. 09/612,464, filed Jul. 7, 2000 in the names ofWilliam R. Cockayne, Stephen K. Orens and Nathan G. Schmidt, thedisclosure of which is incorporated herein by this reference.

The distribution network 120 along with its related subsystems andfunctions may be written for operation on any computer operating systemand for operation in any computing environment. In addition, the varioussoftware employed in the distribution network 120 may be designed usingCORBA, COM+, ACTIVEX™ controls, and/or Java. Similarly, Java applets mayprovide a plug-in client mechanism for use with another application onboth a single computer and in a networked embodiment.

Displays provided to users of the components of the distribution network120 may be displayed using any application user interface techniques,such as the “what-you-see-is-what-you-get” (“WYSIWYG”) display paradigm.One of ordinary skill in the art may easily recognize numerous alternateapproaches to providing a user interface to receive the informationneeded to support a user's communications with the distribution network120.

In embodiments of the invention, software associated with thedistribution network 120 may use Secure Sockets Layer (“SSL”), TransportLayer Security (“TLS”), Dynamic Hypertext Mark-Up Language (“DHTML”)documents, Extensible Mark-Up Language (“XML”) documents, and/or othersimilar formats. Client elements associated with the invention may useprotocols such as SNMP, TCP/IP, and UDP/IP in order to send instructionsand otherwise communicate with various other components of thedistribution network 120. The various components of the distributionnetwork 120 may operate with protocols and languages in addition tothose specifically disclosed herein. Similarly, the distribution network120 may be developed using an object-oriented programming methodology orusing any other programming methodology that results in a computingsystem having equivalent functionality.

Embodiments of the invention have been discussed in terms of computerprograms but is equally applicable for systems utilizing hardware thatperforms similar functions, such as application specific integratedcircuits (“ASICs”).

An ordinary artisan should require no additional explanation indeveloping the methods and systems described herein but may neverthelessfind some possibly helpful guidance in the preparation of these methodsand systems by examining standard reference works in the relevant art.

These and other changes can be made to the invention in light of theabove detailed description. In general, in the following claims, theterms used should not be construed to limit the invention to thespecific embodiments disclosed in the specification and the claims, butshould be construed to include all methods and systems that operateunder the claims set forth herein below. Accordingly, the invention isnot limited by the disclosure, but instead its scope is to be determinedentirely by the following claims.

1. A computer-readable medium to direct a portable computing device tofunction in a specified manner, the computer-readable medium comprising:a first set of instructions to determine a history of sendingacknowledgements to an information distributor responsive to receiving abeacon from the information distributor soliciting acknowledgments fromportable computing devices; a second set of instructions to determinewhether to send an acknowledgement to the information distributorresponsive to the received beacon based on the history; a third set ofinstructions to send the acknowledgment to the information distributorresponsive to a determination to send the acknowledgement; a fourth setof instructions to receive broadcast information from the informationdistributor, the broadcast information including a database, a logicportion, and formatting information and to store said database in theportable computing device, said logic portion for creating a searchquery of said database; a fifth set of instructions to receive a userinput and to utilize said logic portion and said user input to createsaid search query; a sixth set of instructions to retrieve a searchresult from said database stored in the portable computing device basedupon said search query; and a seventh set of instructions to direct theportable computing device to transform said search result in accordancewith said formatting information to produce formatted content.
 2. Thecomputer-readable medium of claim 1, further comprising: an eighth setof instructions to wirelessly download said broadcast information to theportable computing device from the information distributor.
 3. Thecomputer-readable medium of claim 1, wherein said broadcast informationfurther includes a plurality of search queries, and wherein said fifthset of instructions includes: an eighth set of instructions to selectsaid search query from said plurality of search queries based upon saidlogic portion and said user input.
 4. The computer-readable medium ofclaim 1, further comprising: an eighth set of instructions to displaysaid formatted content.
 5. The computer-readable medium of claim 1,wherein the fourth set of instructions comprises an eighth set ofinstructions to receive the broadcast information from the distributionsystem at a location where the portable computing device is within abroadcast range of the location, the database including location relatedinformation associated with the location, and wherein the formattedcontent comprises location related formatted content related to thelocation.
 6. The computer-readable medium of claim 1, furthercomprising: an eighth set of instructions to direct the portablecomputing device to receive the beacon from the information distributorsoliciting acknowledgments from portable computing devices; a ninth setof instructions to direct the portable computing device to determinewhether the broadcast information is error free; and a tenth set ofinstruction to direct the portable computing device to send a secondacknowledgement responsive to the broadcast being determined error freeand responsive to the determination to send the first acknowledgment. 7.The computer-readable medium of claim 6, wherein the acknowledgment istransmitted at a rate of 1200 bps using a non-return-to-zero encodedscheme with a 37.5 kilohertz amplitude-shift-keying (“ASK”) modulationscheme.
 8. The computer-readable medium of claim 1, wherein the secondset of instructions comprises an eighth set of instructions to directthe portable computing device to determine whether to send theacknowledgment to the information distributor responsive to the receivedbeacon based on the history according to a back-off algorithm.
 9. Acomputer-readable medium to direct a portable computing device tofunction in a specified manner, the computer-readable medium comprising:a communication module internal to the portable computing device andconfigured to determine a history of sending acknowledgements to aninformation distributor responsive to receiving a beacon from theinformation distributor soliciting acknowledgments from portablecomputing devices, to determine whether to send an acknowledgement tothe information distributor responsive to the received beacon based onthe history, to send the acknowledgment to the information distributorresponsive to a determination to send the acknowledgement, and toreceive broadcast information from the information distributor; a remoteapplication server internal to the portable computing device andconfigured to process the broadcast information and stored in theportable computing device, wherein said broadcast information includes alogic portion, a database, and formatting information, said logicportion for creating a search query of said database, and wherein saidremote application server includes: a query generator module configuredto receive a user input and to utilize said logic portion and said userinput to create said search query; a database manager module configuredto search said database stored in the portable computing device inaccordance with said search query to retrieve a search result; and acontent generator module configured to generate content in accordancewith said search result and in accordance with said formattinginformation.
 10. The computer-readable medium of claim 9, wherein saidremote application server further includes: a display module configuredto display said content.
 11. The computer-readable medium of claim 9,further comprising: a decoder configured to wirelessly download saidbroadcast information from the information distributor.
 12. A method ofoperating a portable computing device, the method comprising:determining a history of sending acknowledgements to an informationdistributor responsive to receiving a beacon from the informationdistributor soliciting acknowledgments from portable computing devices;determining whether to send an acknowledgement to the informationdistributor responsive to the received beacon based on the history;sending the acknowledgment to the information distributor responsive toa determination to send the acknowledgement; receiving broadcastinformation from the information distributor, the broadcast informationincluding a database, a logic portion, and formatting information, saidlogic portion for creating a search query of said database; storing saiddatabase in the portable computing device; receiving a user input;utilizing said logic portion and said user input to create said searchquery; retrieving a search result from said database stored in theportable computing device based upon said search query; and transformingsaid search result by the portable computing device in accordance withsaid formatting information to produce formatted content.
 13. The methodof claim 12, further comprising: wirelessly downloading said broadcastinformation to the portable computing device from the informationdistributor.
 14. The method of claim 12, wherein said broadcastinformation further includes a plurality of search queries, and whereinutilizing said logic portion and said user input to create said searchquery comprises: selecting said search query from said plurality ofsearch queries utilizing said logic portion and said user input.
 15. Themethod of claim 12, further comprising: displaying said formattedcontent.
 16. The method of claim 12, further comprising: receiving thebeacon from the information distributor soliciting acknowledgments fromportable computing devices; determining whether the broadcastinformation is error free; and sending a second acknowledgementresponsive to the broadcast being determined error free and responsiveto the determination to send the first acknowledgment.
 17. A portablecomputing device comprising: a processor; a transceiver connected to theprocessor, the transceiver receiving broadcast information from aninformation distributor, the broadcast information including a database,a logic portion, and formatting information, said logic portion forcreating a search query of the database; and a memory connected to theprocessor, the memory including: a decoder configured to determine ahistory of sending acknowledgements to the information distributorresponsive to receiving a beacon from the information distributorsoliciting acknowledgments from portable computing devices, to determinewhether to send an acknowledgement to the information distributorresponsive to the received beacon based on the history, to send theacknowledgment to the information distributor responsive to adetermination to send the acknowledgement, to receive the broadcastinformation, and to store the database in the portable computing device;and a remote application server including: a query generator moduleconfigured to receive a user input and to utilize said logic portion andsaid user input to create said search query; a database manager moduleconfigured to retrieve a search result from the database based upon thesearch query; and a content generator module configured to transform thesearch result in accordance with the formatting information to produceformatted content.
 18. The device of claim 17, wherein the transceiveris configured for wireless communications.
 19. The device of claim 17,wherein the remote application server further includes a display moduleconfigured to forward said user input to the query generator module. 20.The device of claim 17, wherein the remote application server furtherincludes a display module configured to display the formatted content toa user of the portable computing device.